現在フォームからデータを受け取って、それをブラウザに表示するプログラムをphpで書いています。
フォームのhtmlファイル内にselectタグでデータを送る箇所があります。
以下ご確認ください。
registration.html
都道府県<br> <select name="prefecture"><br> <option value="all">全て</option> <option value="tokyo">東京</option> <option value="kanagawa">神奈川</option> <option value="chiba">千葉</option> <option value="saitama">埼玉</option> <option value="hokkaido">北海道</option> <option value="sendai">仙台</option> <option value="aichi">愛知</option> <option value="osaka">大阪</option> <option value="fukuoka">福岡</option> </select><br>
ここで選択した値が入っているカラムを全て表示させたいと考えています。
以下そのためのphpです。
<!DOCTYPE html> <html lang = "ja"> <head> <meta charset ="UTF-8"> <tittle>登録ページ</tittle> </head> <body> <table border='1' class="TableStyle1" width="1000"> <tr> <th>名称</th> <th>都道府県</th> <th>市区町村</th> <th>番地</th> <th>区分</th> <th>電話番号</th> <th>担当者名</th> <th>部数</th> <th>設置/配布</th> <th>消去</th> </tr> <?php $dsn = 'mysql:dbname=delivery_list;host=127.0.0.1'; $usr = 'root'; $passwd = ''; try{ $db = new PDO($dsn,$usr,$passwd); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql= 'SELECT * FROM zenkoku where prefecture like :prefecture'; $stmt=$db->prepare($sql); $stmt ->bindParam(':prefecture',filter_input(INPUT_POST,'prefecture'),PDO::PARAM_STR); $stmt->execute(); $users = $stmt -> fetchAll(PDO::FETCH_ASSOC); foreach($users as $user){ ?> <tr> <td><?php echo $user['name'];?></td> <td><?php echo $user['prefecture'];?></td> <td><?php echo $user['city'];?></td> <td><?php echo $user['address'];?></td> <td><?php echo $user['type'];?></td> <td><?php echo $user['tel'];?></td> <td><?php echo $user['person_name'];?></td> <td><?php echo $user['copies'];?></td> <td><?php echo $user['set_type'];?></td> </tr> <?php echo $user; } }catch(PDOException $e){ echo $e->getMessage(); exit; } ?> </body> </html>
すでにprefectureのカラムを作っていて、そこからPOSTした値と同じものを出力したいです。
以下はtableのカラムです。
| id | name | prefecture | city | address | type | tel | person_name | copies | set_type |
こちらは反映したブラウザです。
内容が表示されていません。
もし、原因がわかればご教示いただけますと幸いです。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー