みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

mysqlからphpに表示ですべての項目を出したい

phpとmysqlの勉強をしているのですが、出したい項目がでてきてくれません。
今mysqlでidとnameとpriceの項目を作っているのですが、以下だとどうしてもnameしか出てきてくれません。
どうすれば3つの項目がでてくれますでしょうか?
よろしくお願いします。

<?
    mysql_connect('localhost' , 'root' , '') or die(mysql_error());
    mysql_select_db('db1');
mysql_query('SET NAMES UTF8');

$sql="SELECT * FROM syouhin";
$res=mysql_query($sql);
$options="";
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){
$options.="<input type=\"radio\" name=\"syouhin1\" value='{$row['id']}' checked>
       {$row['name']}\n<br>";
}
$select="{$options}</select>\n";
    print $select;
?>

投稿日時 - 2012-01-10 23:28:45

QNo.7237357

すぐに回答ほしいです

質問者が選んだベストアンサー

ANo.1です。

何故syntax errorになったのか(そのコードが提示されていないので)わかりませんが、

>$options.="<input type=\"radio\" name=\"syouhin1\" value='{$row['id']}' checked>
>       {$row['name']}\n<br>";



$options.= '<input type="radio" name="syouhin1" value="' . $row['id'] . '" checked>';
$options .= $row['name'] . '&nbsp;' . $row['price'] . '\n<br>';

とでもすればいいのでは?


(蛇足)
何故</select>があるのかはとりあえず不問。htmlをキッチリ学んでください。

http://www.tagindex.com/html_tag/form/input_radio.html

投稿日時 - 2012-01-11 00:12:55

お礼

ありがとうございます。
できました。

</select>はたしかに謎ですね。消しておきました。

$options.= '<input type="radio" name="syouhin1" value="' . $row['cpu_id'] . '" checked>';
$options .= $row['cpu_name'] . '&nbsp;' . $row['cpu_price'] . '\n<br>';
print $row['cpu_id'].$row['cpu_name'].$row['cpu_price'];

投稿日時 - 2012-01-11 00:35:29

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

ラジオボタンをセレクトボックスに流し込んでいるように見えますが
プログラムより先にどういった構造のHTMLを得たいかを詰めた方がよさそうです。

idに対してnameとpriceが紐づいているのであれば、nameとpriceが
ラジオボタンやセレクトボックスで表示を分ける意義がありません

投稿日時 - 2012-01-10 23:43:47

お礼

ご返答ありがとうございます。

idを主キーにしてnameとpriceがあるようにしていますね。

すみません。ネットで書いてあったものを手当たり次第にいじった為しっかりは把握できていません。

パソコンのBTOサイトを作っているのですが、
商品パーツをデータベースから読み取りphpでラジオボタンに表示させ、次の画面でidだけを次のページに飛ばし、
次のページではそのidをデータベースから読み取りパーツ名をだすという流れを作っています。

商品パーツをデータベースから読み取りphpで商品名と値段をラジオボタンに表示させる正しい方法はどうすればいいでしょうか?

投稿日時 - 2012-01-10 23:58:36

ANo.1

>$options.="<input type=\"radio\" name=\"syouhin1\" value='{$row['id']}' checked>
>       {$row['name']}\n<br>";

表示しているのは「name」だけですよね(表示しなければ表示されませんから)。

それともブラウザに返っているhtmlソースのinput要素のvalue属性に「id」がセットされていないということでしょうか。

投稿日時 - 2012-01-10 23:41:57

お礼

お返事ありがとうございます。
今nameだけになっているのですが、これ+priceも表示したいのですがシンタックスエラーとなり、どう記述したらいいのか状況です。

 {$row['price']}\n<br>";
とすれば値段だけは表示されましたが。

投稿日時 - 2012-01-10 23:48:57

あなたにオススメの質問