前提・実現したいこと
現在XAMPPというローカルサーバーでPHPとMYSQLの勉強をしています。
(気づけばプロ並み PHP改訂版 という本で勉強を進めています。)
ホテルの予約管理のツールを作成したいです。
MYSQLからデータを拾って、ドロップダウンリストを表示し、<form method="post"・・・>
で次のページに選択されたデータを送りたいです。
もし可能なら、一つのドロップダウンリストから選んだ地域を、ページを移動せずにその指定されたホテルをドロップダウンリストで表示してほしいです。
例えば、HOKKAIDOをドロップダウンリストで表示されれば、横にあるドロップダウンリストにはHOKKAIDOのリストしか表示されない形で、ホテル名を選択したらそれを送信ボタンでデータを渡せる形が一番の希望です。
(すいません、重くなるとのご指摘があったので、前ページにてエリア情報を取得して、それをSELECTのWHEREでエリア条件を付けたいと思います。)
(さらに追加でいえば、取引先のドロップダウンも追加できたら助かります。)
area_list (前ページにします)
id area_name
1 HOKKAIDO
2 TOHOKU
3 KANTOU
4 HOKURIKU
hotel_list
id area_name hotel_name
1 HOKKAIDO HOTEL1
2 KANTOU HOTEL2
3 HOKKAIDO HOTEL3
company_list
id company_name
1 travela
2 travelb
発生している問題・エラーメッセージ
ドロップダウンリストが表示されない
該当のソースコード
<!DOCTYPE html> <html> <head> <meta charest="UTF-8"> <title>予約管理</title> <script> function confirm_test() { // 問い合わせるボタンをクリックした場合 document.getElementById('popup').style.display = 'block'; return false; } function okfunc() { // OKをクリックした場合 document.contactform.submit(); } function nofunc() { // キャンセルをクリックした場合 document.getElementById('popup').style.display = 'none'; } </script> </head> <body> <?php try { $dsn='mysql:dbname=travel;host=localhost;charest=utf8'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql='SELECT hotel_name FROM hotel_list WHERE 1'; $stmt=$dbh->prepare($sql); $stmt->execute(); $dbh=null; ?} ホテル予約追加<br> <form method="post" name="contactform" action="yoyakulist_add_done.php" enctype="multipart/form-data"> ホテル名を追加してください ここにホテル選択ドロップダウンリストを入れたいです。 予約日程を入力してください <input type="text" name="bookingdays" style="width:200px"><br> 何連泊か入力してください <input type="text" name="stays" style="width:100px"><br> ツインルーム部屋数 <input type="text" name="twinrooms" style="width:100px">部屋<br> ツイン単価 <input type="text" name="twinsell" style="50px">円<br> 予約用紙を入力してください <input type="file" name="bookingpaper" style="width:400px"><br> 取引先を追加してください ここに相手取引先選択ドロップダウンリストを入れたいです。 <input type="submit" value="登録する" name="contact"onclick="return confirm_test()"> </form> <div id="popup" style="width: 200px;display: none;padding: 30px 20px;border: 2px solid #000;margin: auto;"> 登録しますか?<br /> <button id="ok" onclick="okfunc()">OK</button> <button id="no" onclick="nofunc()">キャンセル</button> </div> </body> </html>
試したこと
色々調べてみましたが、難しかったです。
補足情報(FW/ツールのバージョンなど)
XAMPP V3.2.4
すいません、PHPはバージョン分からないです。