質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

受付中

検索窓を作ったのですが、上手いできません。どこが問題なのかご指摘お願いします。

supersyosinnsya
aiueo

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0回答

0リアクション

1クリップ

331閲覧

投稿2022/08/09 15:21

検索窓を作ったのですが、上手いできません。どこが問題なのかご指摘お願いします。
エラー内容としては、検索しても何も反応しない感じです。select文のlike文などを取り扱うのが初めてなのでそこらへんが間違っている可能性は十分にあると思っています。(WHEREは何をしてすればいいのかわかりません。)検索できません。のエラー表示も表示されない状態です。

書いているphpスクリプトを順番に軽く説明します。
phpスクリプト
・データベースに接続
・検索窓に記入されたwordを元にsql文を作成する。
htmlスクリプト
・sqlに書かれている物を表示させている。

こんな感じです。

<?php // データベースの接続情報 define( 'DB_HOST', 'localhost'); define( 'DB_USER', 'root'); define( 'DB_PASS', ''); define( 'DB_NAME', 'board'); // タイムゾーン設定 割愛 // 変数の初期化 割愛 session_start(); // データベースに接続 try { $option = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_MULTI_STATEMENTS => false ); $pdo = new PDO('mysql:charset=UTF8;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); } catch(PDOException $e) { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } //ここからデータを取得する $word = filter_input(INPUT_GET, 'word'); if ( !empty($word) ) { //SQL文の実行準備 $stmt=$pdo->prepare("SELECT * FROM zero WHERE LIKE '%$word%' ORDER BY post_date "); //変数の値をバインド $stmt->bindValue(':word', $word, PDO::PARAM_STR); // SQL実行 $stmt->execute(); } else{ $error_message[] = '検索できません。'; } // データベースの接続を閉じる $pdo = null; ?> </head> <form action="" method="POST"> <p> <input type="text" name="word" placeholder="キーワードを入力" size="40"><input type="submit" value="検索"> </p> </form> <hr> <section> <?php if( !empty($stmt) ){ ?> <?php foreach( $stmt as $value ){ ?> <article> <div class="info"> <h2><?php echo "名前: ".htmlspecialchars( $value['view_name'], ENT_QUOTES, 'UTF-8'); ?></h2> <h2><?php echo "ID:".htmlspecialchars( $value['ID'], ENT_QUOTES, 'UTF-8'); ?></h2> <time><?php echo date('Y年m月d日 H:i', strtotime($value['post_date'])); ?></time> </div> <?php printf ('<a href="echo.php?id=%s">%s</a>', urlencode($value['ID']), nl2br(htmlspecialchars($value['title'], ENT_QUOTES))); ?> </article> <?php } ?> <?php } ?> </body> </html>

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/08/10 00:12

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

supersyosinnsya

2022/08/09 15:23

実際のスクリプトは非常に長いので検索窓に関係するもののみをピックアップしています。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。