ホストåã«ã‚¢ãƒ³ãƒ€ã‚¹ã‚³ã‚¢ï¼ˆã‚¢ãƒ³ãƒ€ãƒãƒ¼ï¼‰ã‚’使用ã™ã‚‹ã¨ IE ã§ã‚¯ãƒƒã‚­ãƒ¼ã‚’設定ã§ããªããªã‚‹

Windows 2 Comments »

test_hoge.example.com ã®ã‚ˆã†ã«ã‚¢ãƒ³ãƒ€ã‚¹ã‚³ã‚¢ã‚’ホストåã«ä½¿ç”¨ã™ã‚‹ã¨ IE ã§ã¯ã‚¯ãƒƒã‚­ãƒ¼ã‚’å—ã‘付ã‘ãªããªã‚Šã¾ã™ã€‚
ホストåã§ã¯ã‚¢ãƒ³ãƒ€ã‚¹ã‚³ã‚¢ã¯ä½¿ç”¨ã§ããªã„文字ãªã®ã§ IE ã§ã¯å—ã‘付ã‘ãªã„よã†ã«ãªã£ã¦ã„るよã†ã§ã™ã€‚

ã“れã¯çµæ§‹ã¯ã¾ã‚Šè§£æ±ºã¾ã§ã«æ™‚é–“ãŒã‹ã‹ã£ã¦ã—ã¾ã£ãŸã®ã§ãƒ¡ãƒ¢ã—ã¦ãŠãã¾ã™ã€‚
Firefox ã§ã¯ã‚¢ãƒ³ãƒ€ã‚¹ã‚³ã‚¢ã®å…¥ã£ãŸãƒ›ã‚¹ãƒˆåã§ã‚‚クッキーをå—ã‘付ã‘ã¾ã™ã€‚

ホストåを設定ã—ã¦ãれãŸã‚µãƒ¼ãƒç®¡ç†è€…ã«èžã„ã¦ã‚‚知らãªã‹ã£ãŸã‚ˆã†ãªã®ã§ã€ã¯ã¾ã‚‹äººå¤šã„ã®ã§ã¯ãªã„ã‹ã¨æ€ã„ã¾ã™ã€‚
実ã¯çµæ§‹å¸¸è­˜ã ã£ãŸã‚Šã—ã¾ã™ã‹ï¼Ÿ

CakePHP findAll ã®æ¡ä»¶ã« NOT IN 演算å­ã‚’使ã†

CakePHP No Comments »

å‰å›žã®æŠ•稿ã®ã€ŒCakePHP findAll ã®æ¡ä»¶ã« IN 演算å­ã‚’使ã†ã€ã®ã¤ã¥ãã§ã€NOT IN 演算å­ã‚’使用ã™ã‚‹ã¨ãã«å°‘ã—調ã¹ãŸã®ã§ãƒ¡ãƒ¢ã—ã¦ãŠãã¾ã™ã€‚

$this->model->findAll('field NOT IN (1, 2, 3)');
ã¾ãŸã¯ã€
$this->model->findAll(array('NOT' => array('field' => array(1, 2, 3))));
ã§å‡ºæ¥ã¾ã—ãŸã€‚

CakePHP findAll ã®æ¡ä»¶ã« IN 演算å­ã‚’使ã†

CakePHP 1 Comment »

CakePHP ã® findAll ã®æ¡ä»¶ã« IN 演算å­ã«ã¯ä¸‹è¨˜ã®ã‚ˆã†ã«æ¡ä»¶ã‚’指定ã™ã‚Œã°OKã§ã™ã€‚

$this->model->findAll(array('field IN (1,2,3)'));
ã¾ãŸã¯ã€

$params = array(1,2,3);
$this->model->findAll(array('field' => $params));

é…åˆ—ã§æ¸¡ã›ã°å‹æ‰‹ã« IN 演算å­ã‚’使用ã—ã¦ãれるんã§ã™ã­ã€‚

OpenPNEã§ã®Smarty ã®è¦šæ›¸

OpenPNE, Smarty No Comments »

「OpenPNE PHP ã§ä½œæˆã—ãŸãƒ—ログラムを組ã¿è¾¼ã‚€ã€ã§æ›¸ã„ãŸã‚ˆã†ã«ã€

/openpne/webapp_ext/modules/pc/page/hoge_foo.php ã«

class pc_page_hoge_foo extends OpenPNE_Action
{
    function execute($requests)
    {
    	// ã“ã“ã«å‡¦ç†ã‚’書ã
    }
}

ã®ã‚ˆã†ã«ã™ã‚‹ã¨ ?m=pc&a=page_hoge_foo ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
ã“ã®ã¨ãã«ã©ã†ã‚„ã£ã¦ Smarty ã«å€¤ã‚’渡ã™ã®ã‹å°‘ã—æˆ¸æƒ‘ã£ãŸã®ã§ãƒ¡ãƒ¢ã—ã¦ãŠãã¾ã™ã€‚

Smarty ã‚¿ã‚°

通常㯠「{ã€ã€Œ}〠ã§ã™ãŒã€OpenPNE ã§ã¯ 「({ã€ã€Œ})〠ã§ã™ã€‚

assign

$smarty->assign("var", $var);
ã®ã‚ˆã†ã«ã—㦠Smarty ã«å€¤ã‚’渡ã—ãŸã„ã¨ã㯠execute メソッド内ã§
$this->view->set("var", $var);
ã¨ã™ã‚Œã°OK。

display

$smarty->display("hoge_foo.tpl");
ã¯è‡ªå‹•çš„ã«ã‚„ã£ã¦ãれã¾ã™ã€‚

default_modifiers (escape)

ã¾ãŸã€OpenPNE ã® smarty オブジェクトã¯ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆç”Ÿæˆæ™‚ã«
$smarty->default_modifiers ã« escpae 修飾å­ãŒè¨­å®šã•れã¦ã„ã‚‹ã®ã§ã€
テンプレート変数㫠HTML ã‚¿ã‚°ãŒè¨­å®šã•れã¦ã„㦠HTMLタグを出力ã—ãŸã„å ´åˆã¯
({$var|smarty:nodefaults})
ã¨ã™ã‚Œã°ã€escape 処ç†ã•れãšã«å‡ºåŠ›ã•れã¾ã™ã€‚

ç§ã¯ HTML_QuickForm をよã使ã†ã®ã§ã€form タグ関係を出ã—ãŸã„ã“ã¨ãŒã‚りã¾ã™ã®ã§ã€ãã®å ´åˆã«ä½¿ç”¨ã—ã¦ã„ã¾ã™ã€‚

OpenPNE PHP ã§ä½œæˆã—ãŸãƒ—ログラムを組ã¿è¾¼ã‚€

OpenPNE, PHP 1 Comment »

OpenPNE PHP ã§ä½œæˆã—ãŸãƒ—ログラムを組ã¿è¾¼ã‚€ã¨ãã®ãƒ¡ãƒ¢ã§ã™ã€‚
基本的ã«ã€/openpne/webapp_ext/ 以下ã«è¿½åŠ ã™ã‚‹ãƒ•ァイルを置ãã¾ã™ã€‚

URLã®ãƒ‘ターン

OpenPNE ã® URL ã¯ä¸‹è¨˜ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

  • ?m=pc&a=page_hoge_foo
  • ?m=pc&a=do_hoge_foo

æºå¸¯ã ã¨ m=ktai ã¨ã‹ã«ãªã‚Šã¾ã™ãŒã€ä»Šå›žã¯PC ã®ã¿è€ƒãˆã¾ã™ã€‚

page_hoge_foo ã®ãƒ‘ターンã¯ãƒšãƒ¼ã‚¸ã‚’表示ã™ã‚‹
do_hoge_foo ã®ãƒ‘ターンã¯ãƒ¢ãƒ‡ãƒ«ã«å¯¾ã—ã¦å‡¦ç†ã‚’行ã†

page_hoge_foo ã§ãƒ¢ãƒ‡ãƒ«ã«å¯¾ã—ã¦å‡¦ç†ã‚’行ã†ã“ã¨ã‚‚ã§ãã‚‹ãŒ
MVC ã®æ„味ãŒãªã„ã‹ã‚‚。

?m=pc&a=do_hoge_foo ã®URL を追加ã™ã‚‹

/openpne/webapp_ext/modules/pc/do 以下ã«
hoge_foo.php を作æˆ
hoge_foo.php

class pc_do_hoge_foo extends OpenPNE_Action
{
    function execute($requests)
    {
    	// ã“ã“ã«å‡¦ç†ã‚’書ã
    }
}

/openpne/webapp_ext/modules/pc/validate/do 以下ã«
hoge_foo.ini を作æˆ
例ãˆã° ?m=pc&a=do_hoge_foo&id=10&no=20 ã®ã‚ˆã†ã« id, no ã‚’ GET ã§æ¸¡ã—ãŸã„å ´åˆã¯

[id]
type = "int"
required = 1
[no]
type = "int"
required = 1

ã®ã‚ˆã†ã«å®šç¾©ã™ã‚‹ã€‚

ã“ã†ã—ã¦ãŠã㨠do/hoge_foo.php 内ã§
$id = $requests["id"];
ã®ã‚ˆã†ã«ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’通ã—ã¦å€¤ã‚’å–å¾—ã§ãる。

?m=pc&a=page_hoge_foo ã®URL を追加ã™ã‚‹

/openpne/webapp_ext/modules/pc/page 以下ã«
hoge_foo.php を作æˆ
hoge_foo.php

class pc_page_hoge_foo extends OpenPNE_Action
{
    function execute($requests)
    {
    	// ã“ã“ã«å‡¦ç†ã‚’書ã
    }
}

/openpne/webapp_ext/modules/pc/validate/page 以下ã«
hoge_foo.ini を作æˆ
中身㯠do_hoge_foo ã®å ´åˆã¨åŒã˜ã€‚

ãã®ä»–

/openpne/webapp_ext/lib
クラスファイルãªã©ã‚’ç½®ãã¾ã—ãŸ

自分ã§ä½œæˆã‚¯ãƒ©ã‚¹ã‚’インクルードã—ãŸã„ã¨ã㯠/openpne/webapp_ext/lib
ã‹ã‚‰ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã—ã¾ã™ã€‚

OpenPNE ç”»åƒã®ä¿å­˜ã€è¡¨ç¤ºæ–¹æ³•

OpenPNE 2 Comments »

OpenPNE ã§å†™çœŸã®ã‚¢ãƒƒãƒ—ロード機能を作æˆã—ã¦ã„ã¦èª¿ã¹ãŸã“ã¨ã‚’ã¾ã¨ã‚ã¦ãŠãã¾ã™ã€‚

ç”»åƒã‚’ä¿å­˜ã™ã‚‹ãƒ†ãƒ¼ãƒ–ル c_image

OpenPNE ã§ã¯ç”»åƒã‚’DB ã«ä¿å­˜ã—ã¦ã„ã¾ã™ã€‚ä¿å­˜ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルå㯠c_image ã§ã™ã€‚
ã“ã®ãƒ†ãƒ¼ãƒ–ルã«ã¯ãƒ—ロフィール写真や日記ã®å†™çœŸã€ã‚¹ã‚­ãƒ³ã®ç”»åƒãªã©ãŒä¿å­˜ã•れるよã†ã§ã™ã€‚

CREATE TABLE c_image (
  c_image_id int(11) NOT NULL auto_increment,
  filename text NOT NULL,
  bin longblob NOT NULL,
  r_datetime datetime NOT NULL default '0000-00-00 00:00:00',
  `type` text,
  PRIMARY KEY  (c_image_id),
  KEY filename (filename(100))
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
filename
ç”»åƒã®ãƒ•ァイルåã€ä»»æ„ã«ã¤ã‘ã¦ã„ã„ã¿ãŸã„ã§ã™ãŒã€ãƒ—ロフィール写真ã ã¨
m_2_1188204858.jpg
ã¨ã„ã†æ„Ÿã˜ã§ã™ã€‚
最åˆã® 「m ã€ã¯ãŸã¶ã‚“ãƒ—ãƒ­ãƒ•ã‚£ãƒ¼ãƒ«å†™çœŸã‚’è¡¨ã™æ–‡å­—ã€
次ã®ã€Œï¼’ã€ã¯ãƒ—ロフィール写真ã®No(2番目ã«ã‚¢ãƒƒãƒ—ã—ãŸå†™çœŸï¼‰
次ã®10æ¡ã®æ•°å­—ã¯å¤šåˆ† time() 関数ã§å–å¾—ã—ãŸã‚¢ãƒƒãƒ—ロードã—ãŸæ™‚é–“
bin
base64_encode ã—ãŸç”»åƒãƒ•ァイルã®ãƒã‚¤ãƒŠãƒªãƒ‡ãƒ¼ã‚¿
type
ç”»åƒã®ã‚¿ã‚¤ãƒ—( jpg | gif | png )
r_datetime
登録日時

表示方法

c_image ãƒ†ãƒ¼ãƒ–ãƒ«ã«æ ¼ç´ã—ãŸç”»åƒã‚’表示ã™ã‚‹HTML
<img src="/img.php?filename=m_2_1188204858.jpg&w=180&h=180&m=pc">

Smarty ã®ã‚¿ã‚°ã§æ›¸ãã¨
<img src="({t_img_url filename=$pet.image1 w=180 h=180})">

filename ã« c_image.filename を指定ã—ã¦ã€
w, h ã«å¹…ã¨é«˜ã•ã®æœ€å¤§å€¤ã‚’指定ã™ã‚‹ã€‚
å¹…ã¨é«˜ã•ã¯æœ€å¤§å€¤ã‚’è¶…ãˆã‚‹ã¨è‡ªå‹•çš„ã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã€‚

ãã®ä»–

c_image ã«ç”»åƒã‚’ä¿å­˜ã—ã¦ãŠãã¨ç®¡ç†ç”»é¢ã‹ã‚‰ã‚¢ãƒƒãƒ—ロードã•れãŸå†™çœŸã‚’ã™ã¹ã¦ç®¡ç†ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã®ã§ã€SNS ã‚’é‹å–¶ã™ã‚‹ä¸Šã§ä¾¿åˆ©ã ã¨æ€ã„ã¾ã™ã€‚

OpenPNE テンプレートã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º

OpenPNE, Smarty 1 Comment »

OpenPNE 㯠Smarty を使用ã—ã¦ã„ã¾ã™ãŒã€ãã®ãƒ†ãƒ³ãƒ—レートを修正ã—ãŸã„å ´åˆã€ç›´æŽ¥ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ãƒ†ãƒ³ãƒ—レートを編集ã™ã‚‹ã®ã§ã¯ãªãカスタマイズ用ã®ãƒ†ãƒ³ãƒ—レートを作æˆã—ã¦ä¿®æ­£ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

ディレクトリã¯ä¸‹è¨˜ã«ãªã‚Šã¾ã™ã€‚
オリジナルã®ãƒ†ãƒ³ãƒ—レート
/openpne/webapp/modules/pc/templates/
カスタマイズ用ã®ãƒ†ãƒ³ãƒ—レート
/openpne/webapp_ext/modules/pc/templates/

/openpne/webapp_ext/modules/pc/templates/ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯æœ€åˆã‹ã‚‰ã¯ãªã„ã®ã§ä½œæˆã—ã¾ã™ã€‚
次ã«ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã—ãŸã„テンプレートをオリジナルã®ãƒ†ãƒ³ãƒ—レートディレクトリã‹ã‚‰ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºç”¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚³ãƒ”ーã—ã¾ã™ã€‚

次㫠/openpne/config.php ã®
define('USE_EXT_DIR', false);
ã‚’
define('USE_EXT_DIR', true)
ã«å¤‰æ›´ã™ã‚Œã°ã€ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºç”¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãƒ†ãƒ³ãƒ—レートãŒå­˜åœ¨ã™ã‚Œã°ãã¡ã‚‰ã‚’優先ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚

カスタマイズ失敗ã—ã¦ã‚‚カスタマイズ用ã®ãƒ†ãƒ³ãƒ—レートを削除ã™ã‚Œã°ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ãƒ†ãƒ³ãƒ—レートãŒä½¿ç”¨ã•れã¾ã™ã®ã§ã€ä¾¿åˆ©ã§ã™ã­ã€‚
ã“ã® /openpne/webapp_ext/ ディレクトリã¯ãƒ†ãƒ³ãƒ—レート以外ã§ã‚‚ webapp ディレクトリã®ãƒ•ァイルを上書ãã§ãã¾ã™ã€‚

8月ã«èª­ã‚“ã æœ¬

本 No Comments »

8月ã«èª­ã‚“ã æœ¬ã®ãƒ¡ãƒ¢

OpenPNE ã‚„ XOOPS ãªã©ã‚’調査中ãªã®ã§ã€ãã®é–¢ä¿‚ã®æ›¸ç±ã‚’何冊ã‹èª­ã¿ã¾ã—ãŸã€‚
「OpenPNEã§ã¤ãã‚‹ï¼æœ€å¼·ã®SNSサイトã€ã¯ã‹ãªã‚Šã‚ˆã‹ã£ãŸã§ã™ã€‚
ã‚‚ã†ã²ã¨ã¤ã®ã€ŒOpenPNEã§ã¯ã˜ã‚る自作SNS入門ã€ã¯å°‘ã—åˆå¿ƒè€…å‘ã‘ã‹ã‚‚。
「XOOPSコミュニティサイト構築ガイドã€ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è‡ªä½œæ–¹æ³•も載ã£ã¦ã„ã¦ã‹ãªã‚Šå‚考ã«ãªã‚Šã¾ã—ãŸã€‚

OpenPNEã§ã¤ãã‚‹ï¼æœ€å¼·ã®SNSサイト

OpenPNEã§ã¤ãã‚‹ï¼æœ€å¼·ã®SNSサイト

OpenPNEã§ã¯ã˜ã‚る自作SNS入門

OpenPNEã§ã¯ã˜ã‚る自作SNS入門

XOOPSコミュニティサイト構築ガイド

XOOPSコミュニティサイト構築ガイド

WEB+DB PRESS Vol.40

WEB+DB PRESS Vol.40

ã”飯を大盛りã«ã™ã‚‹ã‚ªãƒãƒãƒ£ãƒ³ã®åº—ã¯å¿…ãšç¹ç››ã™ã‚‹â€•絶対ã«å¤±æ•—ã—ãªã„ビジãƒã‚¹çµŒå–¶å“²å­¦ (幻冬舎新書 ã— 4-1)

ã”飯を大盛りã«ã™ã‚‹ã‚ªãƒãƒãƒ£ãƒ³ã®åº—ã¯å¿…ãšç¹ç››ã™ã‚‹â€•絶対ã«å¤±æ•—ã—ãªã„ビジãƒã‚¹çµŒå–¶å“²å­¦ (幻冬舎新書 ã— 4-1)

フラットé©å‘½

フラットé©å‘½

富裕層ã®è²¡å¸ƒâ€•誰も知らãªã„ãŠé‡‘ã®ä½¿ã„æ–¹

富裕層ã®è²¡å¸ƒâ€•誰も知らãªã„ãŠé‡‘ã®ä½¿ã„æ–¹

誰も知らãªã‹ã£ãŸã‚±ãƒ¼ã‚¿ã‚¤ä¸–代

誰も知らãªã‹ã£ãŸã‚±ãƒ¼ã‚¿ã‚¤ä¸–代

ãƒãƒ¼ãƒ ãƒãƒƒã‚¯ã‚¹ 仕事ã®ãƒ‘フォーマンスを3å€ã«ä¸Šã’る技術

ãƒãƒ¼ãƒ ãƒãƒƒã‚¯ã‚¹ 仕事ã®ãƒ‘フォーマンスを3å€ã«ä¸Šã’る技術

ã™ãã«ç¨¼ã’る文章術 (幻冬舎新書)

ã™ãã«ç¨¼ã’る文章術 (幻冬舎新書)

グーグルé©å‘½ã®è¡æ’ƒ

グーグルé©å‘½ã®è¡æ’ƒ

PHP ã§å¤šæ¬¡å…ƒé…列ã®ã‚½ãƒ¼ãƒˆã‚’ SQL ã® ORDER BY ã®ã‚ˆã†ã«è¤‡æ•°é …ç›®ã§ã‚½ãƒ¼ãƒˆã™ã‚‹

PHP No Comments »

PHP ã§å¤šæ¬¡å…ƒé…列ã®é …目を複数使用ã—㦠SQL ã® ORDER BY ã®ã‚ˆã†ã«ã‚½ãƒ¼ãƒˆã™ã‚‹æ–¹æ³•ã§ã™ã€‚

$answer =
  array(
    "category1" =>
       array(
         "ans1" => 1,
         "ans2" => 1,
         "ans3" => 1
       ),
    "category2" =>
       array(
         "ans1" => 1,
         "ans2" => 2,
         "ans3" => 0
       ),
    "category3" =>
       array(
         "ans1" => 0,
         "ans2" => 2,
         "ans3" => 1,
       ),
  );

ã¨ã„ã†ã‚ˆã†ãªé…列を下記æ¡ä»¶ã§ã‚½ãƒ¼ãƒˆã—ã¾ã™ã€‚

  • ans1 ã®å¤šã„é †
  • ans1 ãŒåŒã˜å ´åˆã¯ ans2 ã®å¤šã„é †
  • ans2 ãŒåŒã˜å ´åˆã¯ ans3 ã®å¤šã„é †

PHP ã® uasort 関数を使用ã—ã¾ã™ã€‚
ã“ã®é–¢æ•°ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ¯”較関数を定義ã§ãã€ãã®é–¢æ•°ã‚’使用ã—ã¦é€£æƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’ä¿æŒã—ãŸã¾ã¾é…列をソートã—ã¾ã™ã€‚

uasort($answer, "compare");

function compare($a, $b) {
    foreach ($a as $k=>$v) {
        if ($a[$k] > $b[$k]) {
            return -1;
        } else if ($a[$k] < $b[$k]) {
            return 1;
        }
    }
}

上記ã®é–¢æ•°ã‚’使用ã—ã¦ã‚½ãƒ¼ãƒˆã—ãŸçµæžœ $answer ã¯ä¸‹è¨˜ã®ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚

$answer =
  array(
    "category2" =>
       array(
         "ans1" => 1,
         "ans2" => 2,
         "ans3" => 0
       ),
    "category1" =>
       array(
         "ans1" => 1,
         "ans2" => 1,
         "ans3" => 1
       ),
    "category3" =>
       array(
         "ans1" => 0,
         "ans2" => 2,
         "ans3" => 1,
       ),
  );

MySQL ã§ NULL を一番最後ã«ã—ã¦æ˜‡é †ã«ã‚½ãƒ¼ãƒˆã™ã‚‹

MySQL, SQL 3 Comments »

2008.2.27 追記
ã‚³ãƒ¡ãƒ³ãƒˆã§æ•™ãˆã¦ã„ãŸã ãã¾ã—ãŸä¸‹è¨˜æ–¹æ³•ã§ç°¡å˜ã«ã§ãã¾ã—ãŸã€‚
is null asc ã®æŒ‡å®šã¨ 通常㮠asc ã®æŒ‡å®šã‚’ã™ã‚‹ã®ãŒãƒã‚¤ãƒ³ãƒˆã§ã™ã­ã€‚

SELECT
  id,
  comment
FROM table
ORDER BY comment IS NULL ASC, comment ASC;

—–追記ã“ã“ã¾ã§—–

MySQL ã§æ˜‡é †ã«ã‚½ãƒ¼ãƒˆã™ã‚‹ã¨ NULL ã¯ä¸€ç•ªæœ€åˆã«æ¥ã¾ã™ã€‚
ãれを最後ã«ã§ããªã„ã‹ã¨ã„ã†ã“ã¨ã§ä¸‹è¨˜ã®ã‚ˆã†ãªSQL を考ãˆã¦ã¿ã¾ã—ãŸã€‚

SELECT
  id,
  comment,
  CASE WHEN comment IS NULL
    THEN 10000
    ELSE ASCII(LEFT(comment,1))
  END AS dummy
FROM table
ORDER BY dummy ASC, COMMENT ASC

comment カラムを昇順ã§ã‚½ãƒ¼ãƒˆã—ã¦ã€NULL ã®å ´åˆã¯ä¸€ç•ªæœ€å¾Œã« NULL ãŒãã¾ã™ã€‚
ã‚ã¾ã‚Šã‚¹ãƒžãƒ¼ãƒˆãªæ–¹æ³•ã§ã¯ãªã„ã®ã§ã™ãŒã€ã“れã§å–りåˆãˆãš NULL を最後ã«ã—ã¦æ˜‡é †ã§ã‚½ãƒ¼ãƒˆã™ã‚‹ã¨ã„ã†ã“ã¨ãŒã§ãã¾ã—ãŸã€‚

ORACLE ã¨ã‹ã ã¨ä¸‹è¨˜ã®ã‚ˆã†ã«ç°¡å˜ã«ã§ãã¾ã™ã­ã€‚
ORDER BY comment ASC NULL LAST

NULLS FIRST
NULL 値を順åºã®æœ€åˆã«ã™ã‚‹ã‚½ãƒ¼ãƒˆã‚’行ãªã†
NULLS LAST
NULL 値を順åºã®æœ€å¾Œã«ã™ã‚‹ã‚½ãƒ¼ãƒˆã‚’行ãªã†

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン