いつもお世話になっております。
度々ですが躓きましたので皆様の知恵をお借りしたいと思います。
どうぞ宜しくお願い致します。
題名にもある通り、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も見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
プルダウンで選択すると、DBの値を取得したい
JavaScript
-
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
Java
-
dbに登録したデータをphpのプルダウンに表したい
PHP
-
-
4
リクエストに応じたselectedの初期値設定方法
Java
-
5
MySQL のデータからドロップダウンリストを作りたい
MySQL
-
6
javaでDBから取得したデータのJSP表示
Java
-
7
Javascriptの値をJava(JSP)へ渡す方法
Java
-
8
SQLデータベースの処理
MySQL
-
9
JSPでのリストボックス表示
Java
-
10
連動させたいセレクトボックスについて。
PHP
-
11
文字の横にプルダウンを表示させたいのですが、どうすればいいでしょうか?
HTML・CSS
-
12
HTMLの値の渡し方について質問です。 HTMLで値を今の画面から次の画面に渡すにはどういう文を使う
HTML・CSS
-
13
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
14
データ数をカウントしたいのですが
Java
-
15
スクリプトのエラー「unexpected EOF while looking for matching `'」の解決法は?"
UNIX・Linux
-
16
データベースの値を判断してラジオボタンにセットする方法
Java
-
17
別ファイルのfunctionの読み込み方
JavaScript
-
18
MySQLでデータベースにデータinsert時のエラー。
Java
-
19
MySQLのデータを使ってプルダウンの値を動的に変更したい
PHP
-
20
プルダウンリストを作りMySQLからデータを取得してonchangeする方法
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Zend_Form_Element_Hash
-
プルダウンメニューにDBの内容...
-
$a[0]='w';$a[1]='r';を1回で
-
$_SESSIONに二次元配列を使える...
-
プログラム内容
-
複数行のデータのPOST処理に関して
-
foreachのなかで次のキーを参照...
-
配列をループでたくさん宣言し...
-
配列を回すとき、最後の要素だ...
-
特定の文からメールアドレスの...
-
curlをPHPで書く方法
-
行列
-
PHP 配列の数をn対nの割合で分...
-
file_existsでファイル名の部分...
-
SimpleXML関数で取得したXML要...
-
C言語 最大値と最小値を求めて...
-
PHP検索ボックス複数設置
-
チェックボックスが複数選択で...
-
配列をmysqlに保存
-
FortranのOPEN文
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
file_get_contents()にて文字化け
-
順位を付ける時のスコアの重複...
-
しりとり 無限ループ?
-
2次元配列の値の受け渡しについ...
-
掲示板のあらし対策
-
phpとmysqlで「あいまい検索」...
-
日付から順にデータを並び替えたい
-
テキストボックスの日本語をロ...
-
月一覧を取得するには?(20120...
-
[PHP]PCアクセス制限について
-
phpのin_array()でわからない事...
-
クラス内での二次元配列への値...
-
多次元配列等の AND 検索について
-
listへのappendが出来ない件
-
バッチでFTPコマンド
-
PHP5の外部コマンド実行で、バ...
-
XML_Serializerで複数のXMLの扱い
-
phpでのソートについて
-
C言語の配列をPush(追加)する...
おすすめ情報