2017-02-24 189 views
0

Image。 我一直在研究這個應用程序,我有一些小問題。基本的一切,進一步發展,就是MySQL查詢。我將把代碼放在上面,然後我會上傳照片給你看這個問題的結果。所以基本上我希望查詢只顯示來自GET方法的「id」結果。因此,它從databasem打印每一件事都無關緊要。但那些不是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

@Ifan如果這能正確解決您的問題,請將其作爲答案勾選。 – mickmackusa