2017-02-24 14 views
0

Image 私はこのアプリを開発してきましたが、マイナーな問題がいくつかあります。すべてがさらに進んでいく基本的なものが、MySQLのクエリです。私はコードを入れて、この問題の結果を見るために写真をアップロードします。だから基本的に私はGETメソッドから得た "id"の結果だけを表示するようにしたい。したがって、それはどのidか​​らでもデータバスからのすべてのものを出力します。しかし、GETの "id"ではない人のコラムは空白です。私はそれらを消滅させたいと思うし、一致するものだけを表示するidを取得する前にありがとう。mysqlクエリで問題が発生した場合

<?php 
require_once 'requires/dbconnect.php'; 
require_once 'requires/session.php'; 
require_once "requires/head.php"; 
require_once 'requires/navbar.php'; 

$id = $_GET['id']; 

$query = $DBcon->query("SELECT * FROM borrow 
          LEFT JOIN users ON borrow.member_id = users.id AND borrow.member_id = '$id' 
          LEFT JOIN borrowdetails ON borrow.borrow_id = borrowdetails.borrow_id AND borrowdetails.member_id = '$id' 
          LEFT JOIN book ON borrowdetails.book_id = book.book_id 
          ORDER BY borrow.borrow_id DESC"); 
    ?> 
    <div class="container"> 
    <table class="table table-hover table-bordered"> 
    <tr class="active"> 
     <td><b>Book Title</b></td> 
     <td><b>Username</b></td> 
     <td><b>Date Borrowed</b></td> 
     <td><b>Date Returned</b></td> 
     <td><b>Status</b></td> 
     <td></td> 
    </tr> 
    <tr> 
    <?php 
    while ($row = $query->fetch_array()) { 
     $id    = $row['borrow_id']; 
     $member_id   = $row['member_id']; 
     $book_id   = $row['book_id']; 
     $borrow_details_id = $row['borrow_details_id']; 
     ?> 
           <td><a href="bookbrief.php?id=<?php echo $book_id; ?>"><?php echo $row['book_title']; ?></a></td> 
           <td><a href="profile.php?id=<?php echo $member_id; ?>"><?php echo $row['username']; ?></a></td> 
           <td><?php echo $row['date_borrow']; ?></td> 
           <td><?php echo $row['date_return']; ?> </td> 
           <td><?php echo $row['borrow_status'];?></td> 
           <?php 
           if($row['borrow_status'] == 'pending') 
           { ?> 
            <td class="danger">Pending</td> 
           <?php } 
           else if ($row['borrow_status'] == 'returned') { ?> 
            <td class="success">Returned</td> 
           <?php } ?> 

           </tr> 
    <?php } ?> 
    </table> 
    </div>` 
+0

私はあなたのコードを完全に読む前に、あなたがmysqlの質問をするたびに以下を含めるようにしておきたいと思います:1.あなたが持つべき結果2.エラーの表記と3.データベーステーブルの一部適切な場合には、 – mickmackusa

+0

あなたの問題が何であるかを言及したいかもしれませんか?詳細はhttp://stackoverflow.com/help/how-to-askをご覧ください。 –

+0

私は今すべてを説明しました。文章についての誤解をおかけして申し訳ありません。 – Irfan

答えて

1

すべてのJOINの後にWHERE句が表示されません。

WHERE borrow.member_id=$id; 

(これはあなたのクエリに書き込むべきか、文字通りではありません。あなたは/サニタイズ/セキュリティ上の理由のために$ _GETパラメータ化します。検証する必要があります)、

をお使いの場合には、この時間をあなたに

$id = intval($_GET['id']); 

...ただし、パラメータ化については必ず読んでください。

+0

@Irfanこれで問題が正しく解決されたら、答えにチェックを入れてください。 – mickmackusa

関連する問題