2014-03-02 49 views
0

我正在使用下面的代碼打印出一個MySQL表格。但是,當我打印多行時,格式非常難看。我可以創建類似於Tab鍵的列來創建更美觀的方式或命令?在HTML中打印出MySQL表格

$google= mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($google)){ 
foreach($row as $cname => $cvalue){ 
    print "$cvalue\t <tr>"; 
} 

print "<br>"; 
} 

使用用戶輸入打印查詢。使用

<form action="google.php" method="post"> 

命令。我還在尋找一種方法在與我接受用戶輸入的HTML頁面相同的頁面上打印此表格。

+0

你有什麼迄今研究? – Idris

+0

這是據我所研究。我讀了一些關於命令的內容,但我不確定我是否理解它的作用。 – user2105982

+0

http://www.quackit.com/html/html_table_tutorial.cfm –

回答

0

你的代碼非常好,只需要添加HTML就可以使它看起來更好。使用表(這還沒有經過測試,但它應該工作):

$google = mysqli_query($query) or die(mysqli_error()); 

echo '<table>'; 

while($row = mysqli_fetch_assoc($google)) { 
    echo '<tr>'; 
    foreach($row as $cvalue) { 
     print '<td>'.$cvalue.'</td>'; 
    } 
    echo '</tr>'; 
} 

echo '</table>'; 

這是一個快速和骯髒的方式來輸出一個MySQL表,但如果你也想在列的名字展現出來,事情就變得相當複雜一點。另外,如果您的結果包含特殊字符(如「>」),則可能導致輸出錯亂。如果發生這種情況,請查閱htmlspecialchars()的文檔。

如果希望此表顯示在同一頁面表單上,只需創建一個提交按鈕,在PHP檢查該值,如下所示:

if (isset($_POST['SubmitButtonNameHere']) { ... } 

我不知道的結構您的表單,因此此代碼可能需要不同以確定表單是否已提交。您可以將用於創建表格的代碼放在大括號內,並將表單的代碼放在if語句的上面或下面。

<tr>是一個HTML元素,用於將行添加到<table>元素。 <td>元素將單元格添加到這些行。此外,您的代碼正在使用mysql_*。由於在PHP中不推薦使用mysql前綴,因此這被更改爲mysqli_*。希望這回答你的問題。

0

只要使用這個代碼,而不是:)

$google= mysql_query($query) or die(mysql_error()); 

echo "<table><tbody>"; 
while($row = mysql_fetch_assoc($google)){ 
foreach($row as $cname => $cvalue){ 
echo "<tr><td>".$cname."</td><td>".$cvalue."</td></tr>"; 
} 
echo "</tbody></table>"; 

完成:)