人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP5 MySQL5の配列処理に関しての質問です。

$sql = mysql_query("SELECT * FROM doc");
while($ro =mysql_fetch_assoc($sql)) {
$data[] = Array(
'author' => $ro['author'] ,
'title' => $ro['title']
);
}

以上のスクリプトでdata配列に格納していきます。


問題は
'title' => $ro['title']
です。

$ro['title']が空だった場合はそのまま空のデータを入れるのではなく、「none」といったテキストデータを格納したいのです。

現状は出力時に空かどうかを判別して、空だったら「none」を出力しています。ちょっとスマートじゃないので格納時に処理したいです。

みなさんよろしくお願いします。

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:DOC RO SELECT SQL スクリプト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GEN111
●20ポイント
$data[] = Array(
 'author' => $ro['author'] ,
 'title' => $ro['title'] ? $ro['title'] : 'none'
) ;

こんな感じでは?

◎質問者からの返答

三項演算子ですよね。

色々と試してみましたが出来ませんでした・・。


2 ● kurukuru-neko
●80ポイント ベストアンサー

>$sql = mysql_query("SELECT * FROM doc");

$sql = mysql_query("SELECT author,ifnull(title,'none') as title FROM doc");

または(未確認)

$sql = mysql_query("SELECT author,if((title is null) or (length(title)<1) ,title,'none') as title FROM doc");


http://dev.mysql.com/doc/refman/4.1/ja/control-flow-functions.ht...

◎質問者からの返答

最初のSQLで出来ました!

ありがとうございます。

これでスクリプトも少なくなってスマートになりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ