退職後の趣味の鉛筆画とはじめてのPHP

鉛筆画、PHPなどの備忘録です。

PHP 野菜名で検索

ログインしたあとの野菜名での検索と表示です。

検索窓に野菜名をいれて検索ボタンを押します。


検索した結果の表示です。

野菜名、品種、ポイントが表示されて下に「編集」「削除」「検索画面へ」というリンクが表示されます。

実際に公開する場合には「削除」ボタンはいらないと思います。

try{
    if(empty($_POST['yasai_name'])){
			echo '野菜名が未入力です<br>';
			echo '<a href="top-page.php">検索ページへ</a>';
    exit;
    }else{
      $yasai_name = $_POST['yasai_name'];
}

野菜名の入力確認をしています。

$sql = $dbh->prepare('select * from yasai where yasai_name = :yasai_name');
$sql->bindValue(':yasai_name', $yasai_name, PDO::PARAM_STR);
$sql->execute();

ここはいつものようにbindValueで検索文字をあてて実行しています。

if(empty($result = $sql->fetchAll())){
      echo 'お探しの野菜データはありません。<br>';
      echo "<a href='top-page.php'>検索画面へ戻る</a>";
      exit;
};
    
foreach ($result as $row){
      echo '<p>';
      echo 'No:', hsc($row['id']), "<br>";
      echo '【野菜名】', hsc($row['yasai_name']), "<br><hr>";
      echo '【品種】', hsc($row['hinshu']), "<br><hr>";
      echo '【ポイント】', hsc($row['point']), "<br><hr>";
      echo "<a href=edit.php?id=" . hsc($row['id']), ">編集</a>\n";
      echo "<a href=delete_data.php?id=" . hsc($row['id']), ">削除</a>\n";
      echo "<a href=top-page.php>検索画面へ</a>\n";
}

fetchAllでデータの存在を確認してから、foreachで内容を表示しています。