![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
いつもお世話になっております。
度々ですが躓きましたので皆様の知恵をお借りしたいと思います。
どうぞ宜しくお願い致します。
題名にもある通り、HTMLのプルダウンメニューで選択する項目をDBから取得し、他のDBに登録させたいです。
以下、処理時のコードです。
$result = pg_query($con, "SELECT project FROM project_tbl");
$col = pg_fetch_array($result);
<SELECT NAME="project">
<OPTION VALUE="$col['project']">
</SELECT>
但し、このコードではDBの内容を取得する事が出来ませんでした。
問題点はこれ以外に
・DBに複数行のデータがある時、複数行を取得出来ない
・仮にプルダウンで選択させる事が出来たとしても、登録ボタンを押せば
選択した内容が消えてしまう
と考えています。
どれに対しても解決策が見出せないので、皆様のお力をお借りしたいと
考えています。 宜しくお願いします。
No.5ベストアンサー
- 回答日時:
#1です。
まず、記述が足りなかった行なのですが
<OPTION VALUE="<?php $data['project'] ?>">
は
<OPTION VALUE="<?php $data['project'] ?>"><?php echo $data['project'] ?></OPTION>
です。すみません。
失礼な事をお聞きしてすみませんが、
お使いのDBはPostgreSQLですよね?
PostgreSQLならpg_query・pg_fetch_array
MYSQLならmysqy_query・mysql_fetch_array
で同等の扱いでいけるのではと思ったのですが。。
私の持っている環境はMYSQLしかないのでそちらの環境では同じロジックで関数を
pg_query → mysqy_query
pg_fetch_array → mysql_fetch_array
に変えただけで正常に取得できました。
同じ使い方ではいけないのでしょうかね。。
お役に立てず、すみませんです。
gogo-tea様、ありがとうございます。
教えていただいたコードで処理を実現する事が出来ました。
しかし処理の内容を完全に理解しきれていないので、これから
ゆっくりコードをみて理解したいと思います。
度々のご返答・ご教授感謝しております。
No.4
- 回答日時:
#2, #3の者です。
たびたび申し訳ありません。#2で回答したスクリプトのかわりに、以下をお試しになってみてくださいますか?
pg_fetch_array()で、DBから取得した結果セットを$colという配列に
格納すると思いますので、pg_fetch_array()の呼び出しはforループの
外でないといけないはずです。
そして、forループの中で、配列$colの各要素をプルダウンメニューに登録しています。
<?php
$result = pg_query($con, "SELECT project FROM project_tbl");
$rows = pg_num_rows($result);
if ($rows > 0) {
print '<SELECT NAME="project">';
$col = pg_fetch_array($result);
for ($i = 0; $i < $rows; $i++) {
print '<OPTION VALUE="{$col[$i]}">{$col[$i]}</OPTION>';
}
print '</SELECT>';
}
?>
(注)インデントのため、全角空白を使っています。
miraiya様、度々のご返答ありがとうございます。
教えていただいたコードではどうも内容が表示されず
{$col[$i]}
が表示されてしまいました。
以下のコードで実装する事が出来ました。
<SELECT NAME="PROJECT">
<?php
$sql = "SELECT project FROM project_tbl ORDER BY project;";
$col = pg_query($con, $sql);;
while($data = pg_fetch_array($col)){
?>
<OPTION VALUE="<?php $data['project'] ?>"><?php echo $data['project'] ?></OPTION><?php
}
?>
</SELECT>
ご教授・参考になる意見を下さり、感謝しております。
No.3
- 回答日時:
#2の者です。
#2回答には明らかな誤りがありましたので、訂正しておきます。
> print '<OPTION VALUE="{$col[$i]}">{$col[$i]}</OPTIONS>';
この行の最後にある</OPTIONS>を、</OPTION>に訂正します。
他にも誤りがあるかもしれません。その折はお許しください。
No.2
- 回答日時:
もしかすると、こういうのでできるかもしれません。
<?php
$result = pg_query($con, "SELECT project FROM project_tbl");
$rows = pg_num_rows($result);
if ($rows > 0) {
print '<SELECT NAME="project">';
for ($i = 0; $i < $rows; $i++) {
$col = pg_fetch_array($result);
print '<OPTION VALUE="{$col[$i]}">{$col[$i]}</OPTIONS>';
}
print '</SELECT>';
}
?>
(注)インデントのため、全角空白を使っています。
No.1
- 回答日時:
pg_queryは使った事がないのですが多分こんな感じでしょうか
<SELECT NAME="project">
<?php
$sql = "select project from project_tbl order by project;";
$col = pg_query($con, $sql);;
while($data = pg_fetch_array($col)){
?>
<OPTION VALUE="<?php $data['project'] ?>">
<?php
}
?>
</SELECT>
登録ボタンでPOSTされたら$projectに選択された値が
入るかと思います。
同じ画面にもどるのであれば
上のループで
$data['project']が受け取った$_POST['project']と等しければ
selectedにしてあげればよいかと思います。
gogo-tea様、お返事ありがとうございました。
残念ながら教えていただいた上記コードでは
空白のみでDBの内容が表示されませんでした。
もう少し考えてみます。
参考になる意見ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
プルダウンで選択すると、DBの値を取得したい
JavaScript
-
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
Java
-
javaでDBから取得したデータのJSP表示
Java
-
-
4
MySQL のデータからドロップダウンリストを作りたい
MySQL
-
5
リクエストに応じたselectedの初期値設定方法
Java
-
6
dbに登録したデータをphpのプルダウンに表したい
PHP
-
7
チェックボックスのON/OFFでValueの値を変える方法が分かりません。
JavaScript
-
8
SQLデータベースの処理
MySQL
-
9
プルダウンリストを作りMySQLからデータを取得してonchangeする方法
JavaScript
-
10
HTMLでDBからデータを表形式で表示するには?
HTML・CSS
-
11
JSPでのリストボックス表示
Java
-
12
データ数をカウントしたいのですが
Java
-
13
java / jsp selectedについて
Java
-
14
連動させたいセレクトボックスについて。
PHP
-
15
MySQLでデータベースにデータinsert時のエラー。
Java
-
16
プルダウン選択を変更すると、変更する前に戻るJavaScript
JavaScript
-
17
文字の横にプルダウンを表示させたいのですが、どうすればいいでしょうか?
HTML・CSS
-
18
一覧から選択した行の行番号を取得について
JavaScript
-
19
select値をhiddenのvalueに渡したい
HTML・CSS
-
20
Java-jspの画面入力値保持について
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
外部のテキストファイルを読み...
-
pg_insertで現在の時刻を挿入す...
-
XML_Serializerで複数のXMLの扱い
-
重複確認
-
配列をループでたくさん宣言し...
-
$_SESSIONに二次元配列を使える...
-
別ファイルの構造体の値を読み...
-
CSVデータを使ったページングと...
-
チェックボックス複数選択 mys...
-
行列
-
配列の添え字が小数だとどうなる?
-
[PHP] fputcsv()関数でファイル...
-
PHPで変数名にハイフンを使うに...
-
CSVファイルの最終行のデー...
-
C言語でCSVファイルの行数を読...
-
foreachで上限回数指定方法また...
-
am()の使い方
-
mb_encode_numericentityでタグ...
-
file_existsでファイル名の部分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
phpとmysqlで「あいまい検索」...
-
PHP5の外部コマンド実行で、バ...
-
「ローマ字 -> ひらがな」へPHP...
-
Mysqlとphpでソートや更新時の...
-
PEAR・MDB2のモジュールロード...
-
HTTPのメッセージボディについ...
-
数学の「組み合わせ」を求める...
-
順位を付ける時のスコアの重複...
-
Zend_Form_Element_Hash
-
日付から順にデータを並び替えたい
-
占いのPHPを作成中ですが・・・
-
しりとり 無限ループ?
-
要素(文字列)から指定値を検索
-
月一覧を取得するには?(20120...
-
mysqlにinsertするとエラーがで...
-
$xml要素を階層指定して取得し...
-
サイト名を取得するPHP
-
flickrでの画像を取得について
-
多次元配列のカウント+1の仕方
おすすめ情報