チョコミントアイス

こんばんは。
PHP5+MySQL4+Apacheを使って参考書を片手に顧客管理を
作りながら勉強をしています。
データーベースに、商品・仕入先・売り上げなどの
テーブルを作り、PHPから、それぞれのテーブルの
一覧表示・新規入力画面&確認画面を作れた所まで
きたのですが・・・・。
ふと、新規商品の入力画面で、仕入先をプルダウンメニューで
選べると便利だな、と思い、方法を探してみたのですが
見つかるのは、仕入先が個定数の場合のみの
プルダウン表示方法しか見つからなくて。
顧客はどんどん増えると想定した場合、一件増える度に
プルダウンメニューに、<option>顧客名</option>を
追加するのは嫌だなぁと思い、顧客が増えたら
自動的にプルダウンも増える、という事をしたいのです。

こういう希望は、不可能なのでしょうか・・・?
どうか、ご指導よろしくお願いいたします。

A 回答 (7件)

こんにちは。



#3のスクリプトでいけませんか?
pg_queryはPostgreSQLで使用する関数です。
mysqlにクエリーを投げるには
mysql_queryを使用します。


mySQLを使用しているということなので変更して
回答してみたのですが、飛ばされると悲しいですね。
    • good
    • 0
この回答へのお礼

Lancer(5)(2)さま。

すみません!!全部kusukusuさんからの
お返事だとなぜか勘違いをしてしまいました。
飛ばしたつもりは全然なかったのです。
ご指導頂いたのに、不愉快な思いをさせてしまって
本当に、申し訳なかったです。
すみません。

Lancer(5)(2)さまのご指導どおりコードを直したら
エラーが解除されました。
ありがとうございます。

エラーは出なくなったのですが、プルダウンで
表示されず、テーブルの中の情報が横並びで
出てきてしまいました。

何か足りないのでしょうか・・・・。

お礼日時:2005/02/18 13:36

こんにちは。



動作したようなのでよかったです。

私は下のサイトまたは本を利用してます。
あとはこれかなー?と使ってることですね。
どんなことしても最悪サーバが止まる程度だと
思うので試してみるのもいいかと思います。
(ファイルの削除等は注意してください。
必要なファイル消しちゃうと大変です)

PHPポケットリファレンス
http://www.amazon.co.jp/exec/obidos/ASIN/4774116 …

PHPマニュアル

http://fol.axisz.jp/php/man/php/

ご参考下さい。
    • good
    • 0
この回答へのお礼

LancerVIIさま。

ご親切に、ありがとうございました。

お礼日時:2005/02/18 20:02

こんにちは。



いえいえ、こちらこそすいません。
お気になさらないで下さい。

本題に入ります。

<select name="tbselect">
<?php
// DBより取得して表示
//
?>
</select>


多分、selectタグの宣言が抜けていませんか?
selectタグで囲んであげれば、思い通りの動きに
なってると思います。

この回答への補足

あっ。
えと、もし失礼でなければ、お伺いしても
よろしいでしょうか・・・?

今回私が投稿しましたような、○○がしたい
のだけど・・・関数を使うにも、その
関数で何が出来るのかもわからないし、関数自体が
わからない、という初心者が手元において置くと
参考になるような書籍を、ご存知ないでしょうか?

補足日時:2005/02/18 14:05
    • good
    • 0
この回答へのお礼

LancerVIIさま!!
きました!表示されました!!

すごいです。
多謝です。ありがとうございます。

大変失礼な事をしてしまったのに、ご親切で
丁寧なご指導を賜りまして、ほんとうに
ありがとうございました。

お礼日時:2005/02/18 14:03

(^^;すいません。

MySQLだったんですね(^^;
勝手にPostgreSQLで書いてしまいました。
No3さんのやり方でいいと思いますよ~
(ってやってる事は同じですが)
    • good
    • 0
この回答へのお礼

kusukusuさま。
ご指導ありがとうございます。

エラーメッセージは
Fatal error: Call to undefined function: pg_query()
と、出てきました。

どうかよろしくお願いいたします。

お礼日時:2005/02/18 11:46

こんにちは。



どんなエラーが表示されているか提示していただくと回答を得られやすいと思います。

mySQLを使っているということなので

$res=mysql_query("select * from kokyaku");
while ( $rows=mysql_fetch_array($res) ) {
  print "<option value=\"".$rows['kokyaku_id']."\">".$rows['kokyaku_name']."\n";
}



これで実行できませんか?
    • good
    • 0

$res=pg_query("select * from DB");


for($i=0;$i<pg_num_rows($res);++$i) {
  print "<option value=\"".pg_fetch_result($res,"valueに値するもの")."\">".pg_fetch_result($res,"顧客名")."\n";
}
でOKじゃないですか?
    • good
    • 0
この回答へのお礼

kusukusuさま。
ご指導ありがとうございます。
PHPのフォーム内に、教えて頂いたコードを
記入したのですが、printの行にエラーがあると
返ってきてしまいました。
記述したのは教えて頂いたコードに
作成したテーブル名などを変更したのみで
<?
$res=pg_query("select * from kokyaku");
for($i=0;$i<pg_num_rows($res);++$i) {
  print "<option value=\"".pg_fetch_result($res,"kokyaku_id")."\">".pg_fetch_result($res,"kokyaku_name")."\n";
}

?>
と、書きました。

申し訳ないのですが、ご指導願えませんでしょうか・・・。

お礼日時:2005/02/18 06:48

別途、プルダウンメニュー用に仕入れ先のリストを「select distinct 仕入れ先 from DB」で取ってくればOKではないでしょうか。


(distinctで重複を除けます)

あとはそのリストの分、<option>で表示すればよいと思います。


質問をきちんと理解できてなかったらすみません。

参考URL:http://www.pursue.ne.jp/SQLDoc/select08.htm
    • good
    • 0
この回答へのお礼

TNYさま。
ご指導、ありがとうございます。

教えて頂いた方法ですと、仕入先が増えた場合、
<option>を付け足さないといけないのですよね?

やりたい事は、<form>内で、リストをDBのテーブルから
自動的にひっぱってくる方法なのです・・・・。

うまくお伝えできていなかったらすみません。

お礼日時:2005/02/18 01:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報