2016-07-29 122 views
0

我想運行兩個不同的mysql查詢並將結果輸出到兩個不同的html表中。我打開一個數據庫連接並獲取兩個完全不同的結果集。mysql將兩個不同的查詢分成兩個不同的html表

我有一個頁面,我想在頁面中顯示兩個不同的頁面,每個表格是來自不同查詢的結果。

echo "<table class='table table-striped table-bordered table-hover table-condensed'>";     
echo "<thead><tr>"; 
echo "<th>Last</th><th>First</th><th>MDC</th><th>RADIO</th><th>EPCR</th><th>FH</th>"; 
echo "</tr></thead></table>"; 

while ($rowA = mysql_fetch_array($result)) { 
    echo "<tbody><tr>"; 
    echo "<td>".$rowA['LAST']."</td>"; 
    echo "<td>".$rowA['FIRST']."</td>"; 
    echo "<td>".$rowA['MDC']."</td>"; 
    echo "<td>".$rowA['RADIO']."</td>"; 
    echo "<td>".$rowA['ePCR']."</td>"; 
    echo "<td>".$rowA['Firehouse']."</td>"; 
} 
echo "</tr></tbody></table>";      

echo "<table class='table table-striped table-bordered table-condensed'>";     
echo "<thead><tr>"; 
echo "<th>USERNAME</th><th>CLASSNAME</th><th>DATE COMPLETED</th>"; 
echo "</tr></thead></table>"; 


while ($rowB = mysql_fetch_array($sql)) { 
    echo "<tbody><tr>"; 
    echo "<td>".$rowB['UserName']."</td>"; 
    echo "<td>".$rowB['ClassName']."</td>"; 
    echo "<td>".$rowB['DateCompleted']."</td>"; 
} 
echo "</tr></tbody></table>"; 

mysql_close($dbhandle); 

這裏是我的查詢:

$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL"); 



$selected = mysql_select_db("tech_training",$dbhandle) 
or die("Could not select examples"); 


$result = mysql_query("SELECT LastName AS LAST, FirstName AS FIRST, 
MAX(IF(`ClassName`='MDC (Intro)', DATE_FORMAT(`DateCompleted`, '%m/%d/%Y'), NULL)) AS 'MDC', 
MAX(IF(`ClassName`='800 MHz Radio (Intro)', DATE_FORMAT(`DateCompleted`, '%m/%d/%Y'), NULL)) AS 'RADIO', 
MAX(IF(`ClassName`='ePCR (Intro)', DATE_FORMAT(`DateCompleted`, '%m/%d/%Y'), NULL)) AS 'ePCR', 
MAX(IF(`ClassName`='Firehouse (Incident)', DATE_FORMAT(`DateCompleted`, '%m/%d/%Y'), NULL)) AS 'Firehouse' 
FROM EnrollmentsTbl INNER JOIN UsersDataTbl ON EnrollmentsTbl.UserName = UsersDataTbl.UserName 
GROUP BY EnrollmentsTbl.UserName 
ORDER BY LastName 
LIMIT 20;"); 


//execute the second SQL query and return records 
$sql = mysql_query("SELECT UserName, ClassName, DateCompleted FROM EnrollmentsTbl LIMIT 10;"); 
+1

還有呢?請編輯您的帖子並澄清您的問題,並提出問題。 –

+1

mysql_ *已棄用。不要再使用它了! – Jeff

+0

我從'mysql_fetch_array'獲得結果第一個格式正確,第二個顯示結果一起運行沒有表格格式? – BarclayVision

回答

0
在頁面的頂部

某處,或者最好使用包括根據PSR 1你不應該與輸出功能/混合班,因爲聲明。

使用PDO這裏是一個例子。

$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password'); 

$stmt = $db->query('SELECT * FROM table'); 
$rowA = $stmt->fetchAll(PDO::FETCH_ASSOC); 

$stmt = $db->query('SELECT * FROM table2'); 
$rowB = $stmt->fetchAll(PDO::FETCH_ASSOC); 

ANSWER

echo "<tbody>"; //this is outside 
while ($rowB = mysql_fetch_array($sql)) { 
    echo "<tr>"; 
    echo "<td>".$rowB['UserName']."</td>"; 
    echo "<td>".$rowB['ClassName']."</td>"; 
    echo "<td>".$rowB['DateCompleted']."</td>"; 
    echo "</tr>";// MOVE THIS INSIDE THE LOOP!!! 

} 
echo "</tbody></table>"; 

其他環:

echo "<tbody>"; //outide 
while ($rowA = mysql_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>".$rowA['LAST']."</td>"; 
    echo "<td>".$rowA['FIRST']."</td>"; 
    echo "<td>".$rowA['MDC']."</td>"; 
    echo "<td>".$rowA['RADIO']."</td>"; 
    echo "<td>".$rowA['ePCR']."</td>"; 
    echo "<td>".$rowA['Firehouse']."</td>"; 
    echo "</tr>"; //move end row here 
} 

echo "</tbody></table>";  

說明

//you have some array 
$result = []; 

echo "<table>" // you only want one of these 
foreach($results as $rows){ 
    echo "<tr>"; 
    echo "<td>data</td><td> mode data </td>"; 
    echo "</tr>"; close row each time 
} 
echo "</table>" //close it ONLY ONCE! 

推薦

正確和可讀的格式將保存你。 EX:

echo "<table class='table table-striped table-bordered table-hover table-condensed'> 
     <thead> 
      <tr> 
      <th>Last</th><th>First</th><th>MDC</th><th>RADIO</th><th>EPCR</th><th>FH</th></tr> 
     </thead> 
    </table>"; 

OR:

$table = <<<HTML 
<table class='table table-striped table-bordered table-hover table-condensed'> 
    <thead> 
     <tr> 
     <th>Last</th><th>First</th><th>MDC</th><th>RADIO</th><th>EPCR</th><th>FH</th></tr> 
    </thead> 
</table> 
HTML; 
echo $table; 
+2

你現在知道問題是什麼? – Jeff

+0

謝謝,但我的問題似乎是格式化的結果,第一個罰款第二沒有? – BarclayVision

+0

我不確定我明白嗎? – BarclayVision