初心者、初投稿の為、上手く文章が書けていません。
ご了承ください。
PHPでクラスを使用し、sqlからデータを受け取りテーブルで出力しようとしてます。
ブラウザを確認すると、商品の二つ目以降がテーブルに入らない状態になってしまします。
どの箇所を修正すればよろしいでしょうか?
よろしくお願いいたします。
<?php include_once('Database.php'); class Menu extends Database { // protected $menu; public function select() { $dbh = parent::connect(); $sql = 'SELECT * FORM menu'; $data = []; if(!empty($_POST['title'])) { $data[] = 'title LIKE "%'.$_POST['title'].'%"'; } if(!empty($_POST['price_min'])) { $data[] = $_POST['price_min'].'<=price'; } if(!empty($_POST['price_max'])) { $data[] = 'price <= '.$_POST['price_max']; } if($data){ $datasql = implode(' AND ',$data); $sql = 'SELECT * FROM menu WHERE'.$datasql; }else{ $sql = 'SELECT * FROM menu'; } $stmt = $dbh->prepare($sql); $stmt->execute(); $rec = $stmt->fetchAll(PDO::FETCH_ASSOC); $dbh = null; return $rec; } } ?>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> DBtest</title> </head> <body> <h2>リスト一覧</h2> <br> <table border="1"> <th>タイトル</th> <th>プライス</th> <th>カテゴリ</th> <th>コメント</th> <th>修正</th> <th>削除</th> <?php // try{ include_once('Menu.php'); $menu = new Menu(); $rec = $menu->select(); foreach ($rec as $value) { ?> <tr> <td><?=$value['title']?></td> <td><?=$value['price']?></td> <td><?=$value['contents']?></td> <td><?=$value['comment']?></td> <td> <form action="update.php" method="post"> <input type="submit" value="変更"> <input type="hidden" name="code" value="<?=$value['code']?>"> </form> </td> <td> <form action="delete.php" method="post"> <input type="submit" value="削除"> <input type="hidden" name="code" value="<?=$value['code']?>"> </form> </td> </tr> </table> <br> <?php } ?> <a href="top.html">戻る</a> <br> </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/17 15:04