2016-10-13 6 views
1

私の学校のキャンパス内を移動できるウェブサイトがあります。 たとえば、aはJ2626/J2617と呼びます。また、ユーザーは教師を探して自分の部屋を見つけることができます。ファイルを検索:入力を確認

私の問題は、ユーザーがデータベースに存在する正しい部屋を入力したかどうかを確認するコードを作成することです。そうでなければ、このキャンパスには部屋または人物が存在しないというWebサイトが表示されます。

「J」だけを入力すると、Jで始まるすべての部屋が表示され、自分のサイトをどのように動作させたいのかがわからないためです。何も入力されていないときに検索ボタンを押すと、サイトにすべての部屋が表示されます。ここで

は私のコードです:

<?php 

$fileName = dirname(dirname(__FILE__)) . "../../db/bth_nav.sqlite"; 

if (isset($_GET['page'])) { 
    $argument = $_GET['page']; 
    $argument = "%" . $argument . "%"; 

    $db = new PDO("sqlite:$fileName"); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); 

    $stmt = $db->prepare('SELECT * FROM bth_nav WHERE name LIKE 
    (:nameOwner) OR owner LIKE (:nameOwner);'); 
    $stmt->execute(array($argument)); 
    $res = $stmt->fetchAll(PDO::FETCH_ASSOC); 

    if (empty($res)) { 
     header("Location: " . "http://" . $_SERVER['index.php']); 
    } 
    ?> 

    <div class = "formObjectSearch"> 

     <?php foreach ($res as $val) { ?> 
       <div class = "infoTab"> 
        <h2><?= $val['name']; ?></h2> 
        <p>Guidance: <?= $val['info']; ?></p> 
        <p>Whos sitting here?: <?= $val['owner']; ?> 
       </div> 
       <img class = "buildingImage" src = "img/<?= 
       $val['image']; ?>" 
       <?php 
      } 
} 
       ?> 
      </div> 

私が正しいんだ場合、私がチェックする場所です:

if (empty($res)) { 
    header("Location: " . "http://" . $_SERVER['index.php']); 
} 

は今、私は動作しないヘッダを持っていると私は切り抜いを試してみました成功していない場合は、この中のもの。本当にリダイレクトしたくないので、「このキャンパスにはこのような部屋や人はいません」と表示したい。データベースの内容全体をリダイレクトまたは表示せずに。

提案がありますか?私はちょうど愚かなコードを持つかもしれない。

ありがとうございました。

+0

あなたは大文字と小文字が区別クエリを意味するのですか? – Polar

答えて

0

大文字と小文字を区別した検索クエリが必要な場合は、BINARYなどを使用できます。

SELECT * FROMテーブルWHERE BINARY= 'value'

関連する問題