2013-07-01 28 views
1

我正在使用通用查詢查看器,並且我還有最後一個問題需要解決。PHP mysqli_fetch_assoc列名值

假設我有一個返回以下數據的查詢......

| Job Code | Mon | Tue | Wed | Thu | Fri | Sat | Sun | 
-------------------------------------------------------- 
| 1234-567 | 0 | 3 | 2 | 5 | 2 | 0 | 0 | 
| 3214-431 | 0 | 2 | 4 | 3 | 0 | 0 | 0 | 

...等等。當我運行下面的代碼時,我在瀏覽器中得到以下結果。它看起來像關聯數組被填充兩次。我在使用MYSQLI_BOTH執行讀取數組時看到了這一點,但我應該只用下面的代碼來獲取關聯數組。

| Job Code | Mon | Tue | Wed | Thu | Fri | Sat | Sun | Job Code | Mon | Tue | Wed | Thu | Fri | Sat | Sun | 
-------------------------------------------------------- 
| 1234-567 | 0 | 3 | 2 | 5 | 2 | 0 | 0 | 
| 3214-431 | 0 | 2 | 4 | 3 | 0 | 0 | 0 | 

代碼...

function query2table($dbcon, $query) 
{ 
    // Connection is already made. 
    $queryResult = mysqli_query($dbcon, $query); 
    if($queryResult) 
    { 
     echo "<TABLE cellpadding='5' cellspacing='1' border='1'><THEAD><TR>\n"; 
     while ($hdrrow = mysqli_fetch_assoc($queryResult)) 
     { 
      foreach ($hdrrow as $hdr => $value) { 
       echo "<th>"; 
       echo $hdr; 
       echo "</th>"; 
      } 
     } 
     echo "</TR></THEAD>\n"; 
     mysqli_data_seek($queryResult, 0); 
     while ($row = mysqli_fetch_assoc($queryResult,MYSQLI_NUM)) 
     { 
      foreach($row as $cell) 
      { 
       echo "<TD>$cell</TD>"; 
      } 

      echo " </TR>\n"; 
     } 
     echo "</TABLE>\n"; 

    } else { 
     $error = mysqli_error($dbcon); 
     echo "\n<BR><BR>dbi_displayQuery - Error reading database: $error<BR><BR>\n"; 
    } 
} 

想法?

回答

1

你通過所有的行循環和輸出的標題行多次,你有結果:

while ($hdrrow = mysqli_fetch_assoc($queryResult)) 

標題行,你只需要獲取一行和使用:

if ($hdrrow = mysqli_fetch_assoc($queryResult)) 
+1

太棒了!這樣做,非常感謝。 – misterrose