MySQLの出力時に、testテーブルにあるtypeフィールドが1なら「正会員」typeが0なら「非会員」と言うように置換し、PHPで出力したいと考えています。


以下のようなコードを書いてテストしているのですが、上手く表示されません。アドバイス、ご指摘いただければと思います。

$sql = "SELECT REPLACE('type','1','正会員') && REPLACE('type','0','非会員') FROM test";
$res = mysql_query($sql,$con);

while($row = mysql_fetch_array($res)){
echo $row["type"]."<br />";
}

環境はPHP5、MySQL4.0.26です。

回答の条件
  • 1人2回まで
  • 登録:2007/08/21 17:53:35
  • 終了:2007/08/21 18:22:42

回答(2件)

id:ManalTencho No.1

ManalTencho回答回数129ベストアンサー獲得回数92007/08/21 18:12:37

ポイント70pt

$sql = "SELECT CASE type WHEN '1' THEN '正会員' WHEN '0' THEN '非会員' END AS type_name FROM test";

$res = mysql_query($sql,$con);

while($row = mysql_fetch_array($res)){

echo $row["type_name"]."
";

}

ではいかがでしょうか。

id:kt26

表示内容を変更するには、CASEを使うのですね。大変参考になりました。ありがとうございました。

2007/08/21 18:21:53
id:inokuni No.2

いのくに回答回数1343ベストアンサー獲得回数212007/08/21 18:14:21

ポイント5pt
<?php
$sql = "SELECT type FROM test";
$res = mysql_query($sql,$con);

while($row = mysql_fetch_array($res)){
	if($row['type'] == '1'){
		echo "正会員<br />";
	}elseif($row['type'] == '0'){
		echo "非会員<br />";
	}
}
?>
id:kt26

あくまでもSQL文として行いたいので、このやり方は却下します。

2007/08/21 18:19:24

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません