前提・実現したいこと
部分一致検索して商品が見つかった場合はその商品だけを表示して、もし検索しても見つからなかったときはエラーメッセージと商品一覧を表示しています。動作上は特に問題ありませんが、コンパクトにまとめることは可能でしょうか?
エラーメッセージ
if (isset($_POST['keyword']) && mb_strlen ($_POST['keyword']) > 0) { $keyword = trim($_POST['keyword']); try { partial_match_search(); if (count($result) > 0 ) { $msg[] = ($keyword . 'を含む商品が見つかりました!'); } else { product_list (); } } catch (PDOException $e) { $err_msg[] = '商品を検索できませんでした。'; } } else { product_list (); } // 関数を定義 function partial_match_search () { $sql = 'SELECT product.id, name, price, img, status, stock FROM product JOIN item_stock ON product.id = item_stock.stock_id WHERE name like ?'; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $keyword, PDO::PARAM_STR); $stmt->execute(['%' . $keyword . '%']); $result = $stmt->fetchALL(); } function product_list () { try { // 商品を一覧で表示する $sql = 'SELECT product.id, name, price, img, status, stock FROM product JOIN item_stock ON product.id = item_stock.stock_id WHERE status = 1'; $stmt = $dbh->prepare($sql); $stmt->execute(); $result = $stmt->fetchALL(); $err_msg[] = ($keyword . 'を含む商品は見つかりませんでした。'); } catch (PDOException $e) { $err_msg[] = '商品を取得できませんでした。'; } }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。