2011-03-10 54 views
1

我對PHP的使用比較陌生,一直在努力使用它從數據庫中獲取數據。我已經能夠繪製在表的查詢很容易當我知道需要的列數被繪製,如下圖所示:PHP:在表中繪製任何查詢結果的函數

 echo "<table border='1'>"; 
      echo "<tr><td align='center' colspan='6'><b>All ".$catDesc." CD's</b></td></tr>"; 

      while ($row = mysql_fetch_array($result)){ 
       echo "<tr bgcolor='#fff'> 
         <td>".$row['catDesc']."</td> 
         <td>".$row['CDTitle']."</td> 
         <td>".$row['CDYear']."</td> 
         <td>".$row['artistName']."</td> 
         <td>£".$row['CDPrice']."</td> 
         <td>".$row['PubName'].", ".$row['location']."</td> 
        </tr>"; 
      } 
     echo "</table>"; 

我在想,如果有一個單獨的函數編寫一些代碼的任何方式這將繪製任何查詢的結果,而不管查詢結果所保存的字段/列的數量如何。

感謝您的任何意見或代碼,你想分享。

強尼

回答

4

在while循環,你可以遍歷$行變量,創建一個新的TD-元素每次:

while($row = mysql_fetch_assoc($result)) 
{ 
    echo "<tr bgcolor='#fff'>"; 

    foreach($row AS $key => $value) 
    { 
     echo "<td>$value</td>"; 
    } 

    echo "</tr>"; 
} 
+0

和使用http://php.net/manual /en/function.array-keys.php第一行列名稱 – n00b 2011-03-10 13:57:51

+1

這是實現它的方法。肯定會注意到使用'mysql_fetch_assoc()'。 'mysql_fetch_array()'會給你兩個值,因爲它爲每個值提供數字和字符串索引。 – 2011-03-10 13:59:05

+0

你說得對。我更正了mysql_fetch_array!只需從問題中複製原始內容而無需進一步檢查。謝謝:) – 2011-03-10 14:18:52

相關問題