MySQLで構築しているデータベースの中身をプルダウンメニューに反映させたいです。
データベースの中身は今後追加することもあるので、動的なプルダウンメニューを実装したいです。
その後、プルダウンメニューで選択したものを条件に絞り込み機能を実装しようと考えています。
JavaScriptなどを使うよりは、PHP側でfor文を使って値を取れば良いという友人からのアドバイスをいただいたのですが、いまいち処理方法がわからないです...。
参考となるWebサイトも探してみてたのですが、どこを参考にすれば良いのか混乱してしまっている状態です。
追記:友人が作った独自のクラスライブラリ(著作権があるので載せられませんが・・・)を使っています。
データベースは
categoryデータベース
id(主キー)
name
という構成です。
<?php //import require_once("php/pdbc.php"); // mb_internal_encoding("UTF-8"); ini_set("display_errors",On); error_reporting(E_ALL); $mysql = new PDBC("localhost","garden","UTF8","hogeUser","hogehoge"); //mysqlサーバーへのログイン if (isset($_POST["dataSet"])) { // 1. ユーザIDの入力チェック if (empty($_POST["categoryName"])) { // 値が空のとき $errorMessage = '種類名が未入力です。'; } if (!empty($_POST["categoryName"])){ // 入力した種類名を格納 if(strpos("categoryName",'科') !== false){ //'categoryName'のなかに'科'が含まれている場合、科は外す $categoryName = $_POST["categoryName"]; // VALUES(?,?)に入れるための配列を作る // 配列はarrayを使う $newCategory = array(array($categoryName)); }else{ //科をつける $categoryName = $_POST["categoryName"]; $newCategory = array(array($categoryName.'科')); } // データの挿入 $resp = $mysql->insert("INSERT INTO category(name) VALUES (?)",$newCategory); //mysqlに接続、成功したかを$respに格納。戻り値は行 //VALUESにNewUserの中身が入る( if(gettype($resp == "integer") && $resp > 0){ $dataSetMessage = '登録が完了しました。'; } else{ $dataSetMessage = '登録の際にエラーが発生しました: '.$resp; } } print("<!doctype html>"); } ?> <html> <head> <meta charset="UTF-8"> <title>新規登録</title> </head> <body> <h1>栽培データ新規登録</h1> <font color="#ff0000"><?php if(isset($errorMessage)) print($errorMessage); ?></font> <font color="#0000ff"><?php if(isset($dataSetMessage)) print($dataSetMessage);?></font> <form id="loginForm" name="loginForm" action="" method="POST"> <fieldset> <legend>新規登録フォーム</legend> <label for="categoryName">種類名</label><input type="text" name="categoryName" placeholder="種類名を入力"> <br> <input type="submit" id="dataSet" name="dataSet" value="新規登録"> </fieldset> </form> <br> <form action="login.php"> <input type="submit" value="戻る"> </form> </body> </html>