2017-01-04 6 views
0

データベースを経由してテーブルを返す検索バーを作成しようとしています。フォームからの値は保存されますが、PHPコードは情報の配列を返しません。私はこれを作業これはブートストラップモーダル内部のポップアップメッセージになります取得した後Htmlの検索バーの値がPHPコードで処理されていません

<?php 
    header("Location:http://127.0.0.1:58199/graduateYearPage.html"); 
    if (isset($_GET['uni_name']) && is_string($_GET['uni_name'])) { 
     $uname = $_GET['uni_name']; 
    } else { 
     $uname = ""; 
    } 

    $con = new mysqli('127.0.0.1', 'root', 'tR60135400', 'db'); 

    if ($con->connect_errno) { 
     echo "We are experiencing problems."; 
     exit; 
    } 

    $sql = "SELECT * FROM students WHERE university = $uname"; 

    if (!$result = $con->query($sql)) { 
     echo "Sorry, the website is experiencing problems."; 
     exit; 
    } 

    if ($result->num_rows === 0) { 
     echo "We could not find a match for ID $uname, sorry about that. Please try again."; 
     exit; 
    } else { 
     //OUTPUT A TABLE 
     echo "<table> <ul>" 
     while($row = $result->fetch_assoc()){ 
      printf ("<li>%s</li>", $row["firstName"]); 
      printf ("<li>%s</li>", $row["lastName"]); 
      printf ("<li>%s</li>", $row["university"]); 
     } 
     echo "</ul> </table>" 
    } 
    $result->free(); 
    $con->close(); 
    exit; 
?> 

:ここ

はコードです。テーブルが動作していません。私はまた、これがフォームと私がPHPコードをどのように呼び出すかのためかもしれないと考えました。ここで

は、フォームのHTMLコードです:

<form method="GET" id="search_bar" style="text-align: center;"> 
    <div class="input-group"> 
     <input id="placeholder" type="search" class="form-control" name="uni_name" placeholder=" Enter a university name."> 
     <div class="input-group-btn"> 
      <button class="btn btn-default" type="submit" name="submit"> 
      <i class="glyphicon glyphicon-search"></i> 
      </button> 
     </div> 
    </div> 
</form> 
+0

何が結果になっていますか? –

+0

私は結果が得られませんでした。値が入力されたときに唯一の変更が見られました。コードの場所の後ろを検索しました。値と名前が表示されます:http://127.0.0.1:58199/graduateYearPage.html?uni_name = arizona&submit = –

+1

アクションは空白にしてはいけません.htmlページではなくPHPページであるべきです –

答えて

0

はこのお試しください:

index.htmlをまたはindex.phpの

<form method="GET" id="search_bar" action="search_bar.php" style="text-align: center;"> 
    <div class="input-group"> 
     <input id="placeholder" type="search" class="form-control" name="uni_name" placeholder=" Enter a university name."> 
     <div class="input-group-btn"> 
      <button class="btn btn-default" type="submit" name="submit"> 
      <i class="glyphicon glyphicon-search"></i> 
      </button> 
     </div> 
    </div> 
</form> 

search_bar.phpを

<?php 
if($_SERVER["REQUEST_METHOD"]="GET"){ 
    if(isset($_GET["uni_name"])){ 
     $uname = $_GET['uni_name']; 
    }else{ 
     $uname = ""; 
    } 
} 

$con = new mysqli('127.0.0.1', 'root', 'tR60135400', 'db'); 

if ($con->connect_errno) { 
    echo "We are experiencing problems."; 
    exit; 
} 

$sql = "SELECT * FROM students WHERE university = '$uname'"; 

if (!$result = $con->query($sql)) { 
    echo "Sorry, the website is experiencing problems."; 
    exit; 
} 

if ($result->num_rows === 0) { 
    echo "We could not find a match for ID $uname, sorry about that. Please try again."; 
    exit; 
} else { 
    //OUTPUT A TABLE 
    echo "<table> <ul>" 
    while($row = $result->fetch_assoc()){ 
     printf ("<li>%s</li>", $row["firstName"]); 
     printf ("<li>%s</li>", $row["lastName"]); 
     printf ("<li>%s</li>", $row["university"]); 
    } 
    echo "</ul> </table>" 
} 
$result->free(); 
$con->close(); 
exit; 
?> 
+0

それはまだ同じことをしました..私はアクション= "server.php"を書くと、コードを実行する代わりにダウンロードを開始します。 –

+0

あなたのPHPのバージョンは何ですか? – Ruben

0

ブートストラップモードでは、モーダルオープナーのhrefタグをこのタグ "data-target ="に変更するか、モーダルビューを開くか、ページにリダイレクトするかを問わずモーダル表示モードを意味するため削除してください。 また、あなたの検索クエリで文字列を一重引用符で囲む必要があります

SELECT * FROM students WHERE university = '$uname' 
関連する問題