2017-06-16 59 views
0

即時工作在學生管理頁面,我在編輯頁面顯示學生數據有點問題,以確定我點擊編輯時使用傳遞ID的學生。傳遞學生ID到編輯頁面

我的編輯頁面查詢

<?php 
    $user = $_GET["id"]; 
    $query = "SELECT * FROM kuala_lumpur UNION ALL 
       SELECT *FROM eastern UNION ALL 
        SELECT *FROM northern UNION ALL 
         SELECT * FROM sabah UNION ALL 
          SELECT * FROM sarawak 
         WHERE ID_NO = '$user'"; 
    $result = mysqli_query($conn,$query) or die ('query die'); 
    $userget =mysqli_fetch_assoc($result); 
    ?> 


<div class="thebox thebox-more"> 
<form method="post"> 
    <table class="table tablo center-hr " border="0"> 
    <tr><th colspan="6"><h3>Student Information</h3></th> 

    <tr class="text-right"> 
     <td><label>Name</label></td> 
     <td colspan="5"><input type="text" name="NAME" value="<?php echo $userget['NAME']; ?>"></td> 

    <tr class="text-right"> 
     <td><label>Student IC</label></td> 
     <td colspan="2"> <input type="text" name="IC_NO" value="<?php echo $userget['IC_NO']; ?>" ></td> 

     <td><label>Student ID</label></td> 
     <td colspan="2"> <input type="text" name="ID_NO" value="<?php echo $userget['ID_NO']; ?>"></td> 
    </tr></i> 

我的表的學生名單

$th1 = 'Student ID'; 
    $th2 = 'Name'; 
    $th3 = 'Course'; 
    $th4 = 'Convocation Date'; 
    $th5 = 'Edit'; 

    $td1 = 'ID_NO'; 
    $td2 = 'NAME'; 
    $td3 = 'PROGRAM_CODE'; 
    $td4 = 'CONVO_DATE'; 
    $td5 = 'PROGRAM_DESC'; 

    <div class ="table tbody" > 
     <table class="table table-hover bg-brand" data-toggle="table" > 
     <?php 
      if (mysqli_num_rows($query) > 0) { 

    echo "<thead> 
     <tr> 
      <th class='text-center'>".$th1."</th> 
      <th class='text-center'>".$th2."</th> 
      <th class='text-center'>".$th3."</th> 
      <th class='text-center'>".$th5."</th> 
     </tr> 
    </thead>"; 
       while($row = mysqli_fetch_assoc($query)) { 
    echo "<tbody> 
     <tr> 
      <td class='text-center'>".$row[$td1]."</td> 
      <td>".$row[$td2]."</a><br> 
      <b style='padding-left:7px;'><i>".$row[$td5]."</i></b></td> 
      <td class='text-center'>".$row[$td4]."</td> 
      <td><center><a href=\"info.php?id={$row[$td1]}\">X</a></center></td></tr> 
     </tr> 
    </tbody>";  
      } 
     }?> 
</i> 

的顯示的不是後更改數據我點擊其他學生進出口新的UNION ALL我有一種感覺在查詢中的問題,但我試着改變很多次,但仍然沒有運氣...

回答

0

我覺得其中c lause確實只適用於代碼中的最後一個查詢。此外,通過確保用戶標識是一個整數來防止SQL注入攻擊。

 $user = intval($_GET["id"]); 
     $query = " 

         SELECT * 
         FROM kuala_lumpur 
         WHERE ID_NO = '$user' 
        UNION ALL 
         SELECT * 
         FROM eastern 
         WHERE ID_NO = '$user' 
        UNION ALL 
         SELECT * 
         FROM northern 
         WHERE ID_NO = '$user' 
        UNION ALL 
         SELECT * 
         FROM sabah 
         WHERE ID_NO = '$user' 
        UNION ALL 
         SELECT * 
         FROM sarawak 
         WHERE ID_NO = '$user'"; 
     $result = mysqli_query($conn,$query) or die ('query die'); 
     $userget =mysqli_fetch_assoc($result); 

當你包括在HTML輸入字段的數據庫中的數據,這是更好地逃避它:

<?php echo htmlspecialchars($userget['NAME'], ENT_QUOTES); ?> 

是否有需要解決任何其他問題?

+0

omg哈哈不知道它的這麼簡單,這使我狩獵了好幾天,但你解決它在分鐘大聲笑....我有另一個問題如何使用更新聯盟?和上面一樣嗎?或有點不同? –

+0

那麼每個地區的數據庫設計都有單獨的表格,這有點尷尬。它可能有助於在數據中包含該區域,例如:'SELECT'sarawak'as region,* FROM sarawak WHERE ID_NO ='$ user''因此您可以在稍後進行更新時使用該區域。 – Adder