2015-07-20 57 views
0

我需要列出類似這樣的內容。 第一個表格顯示通過使用此代碼。如何在一個while循環中使用2個fetch_assoc?

<?php 
    if (isset($_REQUEST['asign'])) { 
     include 'includes/connection.php'; 

     $sql12= $cid->query("SELECT name FROM user WHERE designation='Technical' AND status='1'"); 
     $query = "SELECT * FROM allinone WHERE flag=3 ORDER BY id ASC"; 

     $rs = $cid -> query($query); 

     $n = $rs -> num_rows; 
     echo "<br /><span style='color:red;'><center>$n records found</center></span>"; 
     echo "<div id='record'>"; 
     echo "<table border='1' width='80%' align='center' cellpadding='0' cellspacing='0' id='unsolTable'>"; 
     echo "<tr>"; 
     echo "<th>ID</th>"; 
     echo "<th>Ticket Number</th>"; 
     echo "<th>KOID</th>"; 
     echo "<th>PROBLEM</th>"; 
     echo "<th>COMMENT</th>"; 
     echo "<th>DATE</th>"; 
     echo "<th>TIME</th>"; 
     echo "<th>STATUS</th>"; 
     echo "<th>SOLVED BY</th>"; 
     echo "<th>Assign</th>"; 
     echo "<th>Assigned to</th>"; 
     echo "</tr>"; 
     while ($row = $rs -> fetch_assoc()) { 

      echo "<tr>"; 
      echo "<td>" . $row['id'] . "</td>"; 
      echo "<td>" . $row['token'] . "</td>"; 
      echo "<td>" . $row['koid'] . "</td>"; 
      echo "<td>" . $row['problem'] . "</td>"; 
      echo "<td>" . $row['comment'] . "</td>"; 
      echo "<td>" . $row['date'] . "</td>"; 
      echo "<td>" . $row['time'] . "</td>"; 
      echo "<td>" . $row['status'] . "</td>"; 
      echo "<td>" . $row['solvedBy'] . "</td>"; 
    echo "<td><a href='assign.php?qType=technical&name=anshul&id=" . $row['id'] . "'>anshul</a> 
      <br /> 
      <a href='assign.php?qType=technical&name=kiran&id=" . $row['id'] . "'>kiran</a> 
      <br /> 
      <a href='assign.php?qType=technical&name=akhilesh&id=" . $row['id'] . "'>akhilesh</a></td>"; 
      echo "<td>" . $row['assTo'] . "-" . $row['assTime'] . "-" . $row['assDate'] . "</td>"; 
      echo "</tr>"; 
      } 
      echo"</table>"; 
      echo "</div>"; 
      } 
      ?> 

enter image description here

在另一側是名單上的分配,我不想把它寫手動只是從數據庫中我怎樣才能做到這一點得到?

$sql= $cid->query("SELECT name FROM user WHERE designation='Technical' AND status='1'"); 
     while ($row=$sql->fetch_assoc()) { 
      $name= $row['name']; 
     } 

這是我想在第一個代碼中添加的另一個代碼。

+0

您可以創建正確的SQL查詢,並沒有必要使用2取副教授。我無法從您的代碼中讀取太多內容,因此我無法給您確切的解決方案,但您應該閱讀有關連接/子查詢的內容。 – Robert

回答

1

沒有什麼能阻止你在while循環中執行另一個SQL查詢;只需將echo...anshul...echo...kiran...零件替換爲另一個包含您已提供的代碼的while循環。

您只需確保使用不同的變量,否則您的$row變量將被第二個查詢覆蓋。因此,你可以做這樣的事情:

// ... 
echo "<td>" . $row['solvedBy'] . "</td>"; 

$resultSetAssignedUsers = $cid->query("SELECT name FROM user WHERE designation = 'Technical' AND status = '1'"); 
while ($rowAssignedUsers = $resultSetAssignedUsers->fetch_assoc()) { 
    echo "<td><a href='assign.php?qType=technical&name=" . $rowAssignedUsers['name'] . "&id=" . $row['id'] . "'>" . $rowAssignedUsers['name'] . "</a>"; 
} 

echo "<td>" . $row['assTo'] . "-" . $row['assTime'] . "-" . $row['assDate'] . "</td>"; 
// ...