スレッド表示 | フラット表示〕 全トピック 920 件中 164 番目 次≫ ≪前

DBからコンボボックスの作成

created: 2006-11-29 21:15 | modified: 2006-12-04 00:57 | reply: 3

[3481] DBからコンボボックスの作成

user: たつと | created: 2006-11-29 21:15
 質問させていただきます。
現在、コンボボックスを配置するに当たり、
DBからSELECTで検索した結果を入れようとしております。

具体的には、

$result=mysql_query("SELECT * FROM CODE WHERE SHUBETSU_NO = '02' AND CODE_NO = '99'"(DB検索)
print "<select "juchu\"style=\"position:absolute;top:70;left:800;\">";(コンボボックス設定)
while ($row = mysql_fetch_array($result)) {
~DB検索結果をコンボボックスに入れるコード~
}
print "</select>";

というように、行ったところ、while以下に入ってくれません。
考え方がおかしいかもしれないとは思うのですが、
どこがおかしいのかがわかりません。
よろしければご教授くださらないでしょうか。
reply: 3482 返信 編集 削除

[3482] DBエラーとレコードの有無を確認

user: ゆうじ | created: 2006-11-30 00:14
こんばんわ。

whileループまで行かないのなら、
mysql_fetch_array()を呼ぶ前に以下の2点を確認しましょう。

(1)mysql_query() でエラーは無いか。
(2)問い合わせ結果があるか。

コメントつけたところを書き加えてます。
HTMLもおかしかったところ直してます。

$result = mysql_query("SELECT * FROM CODE WHERE SHUBETSU_NO = '02' AND CODE_NO = '99'");

// 【エラーが無いか確認】
if (mysql_errno()) {
exit('エラー: '. mysql_error());
}
// 【レコードがあるか確認】
$count = mysql_num_rows($result);
if (!$count) {
exit('条件に一致するレコードがありません。');
}

print('<select name="juchu" style="position:absolute;top:70px;left:800px;">');
while ($row = mysql_fetch_array($result)) {
~DB検索結果をコンボボックスに入れるコード~
}
print('</select>');
Parent: 3481  reply: 3483 返信 編集 削除

[3483] お返事ありがとうございます

user: たつと | created: 2006-11-30 01:05
お返事ありがとうございます。
指摘された場所を直してみたのですが、やはりWHILE内に入っていきません。
もう少し状況を書いてみます。

<html>
<body>
<FORM name="myform" action="juchu.php" method="POST">

<?php
$result = mysql_query("SELECT * FROM CODE WHERE SHUBETSU_NO = '02' AND CODE_NO = '99'");
// 【エラーが無いか確認】
if (mysql_errno()) {
exit('エラー: '. mysql_error());
}// 【レコードがあるか確認】
$count = mysql_num_rows($result);
if (!$count) {
exit('条件に一致するレコードがありません。');
}
print('<select name="juchu" style="position:absolute;top:70px;left:800px;">');
while ($row = mysql_fetch_array($result)) {
~DB検索結果をコンボボックスに入れるコード~
}
print('</select>');
?>
</FORM>
</body>
</html>

となっております。
この</FORM>の使い方もアヤシイのかなと、おもっているのですが、
いかがでしょうか。
Parent: 3482  reply: 3484 返信 編集 削除

[3484] 確認方法

user: ゆうじ | created: 2006-12-04 00:57
ほったらかしですみません。確認ですが、

> WHILE内に入っていきません

ということは、【エラーが無いか確認】と
【レコードがあるか確認】のところで止まっていない
ってことで間違いありませんか。

それなら、ループ内の記述に原因がありそうですが、
私なら ~DB検索結果をコンボボックスに入れるコード~ に、
var_dump($row); を挿入して、$rowの値で判断しますが、
たつとさんは、どういう方法で確かめて、
ループに入ってないと判断されてるのでしょうか。

タグの閉じ忘れや、ダブルクォーテーションの閉じ忘れなんかで
ブラウザに表示されてないこともありますので、
結果を確かめる際は、ページのソースをみてください。
Parent: 3483  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 164 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑