2015-05-19 17 views
-2

而不是給一個條件語句來評估在下面關於在WHILE語句是PHP文檔的第40行,這似乎宣告了一個新變量$row代替並設置它等於到什麼東西?這不會總是評價爲真?它的目的是什麼?爲什麼WHILE聲明是根本?PHP,阿賈克斯的基本認識,mysqli的教程

<!DOCTYPE html> 
<html> 
<head> 
<style> 
table { 
    width: 100%; 
    border-collapse: collapse; 
} 

table, td, th { 
    border: 1px solid black; 
    padding: 5px; 
} 

th {text-align: left;} 
</style> 
</head> 
<body> 

<?php 
$q = intval($_GET['q']); 

$con = mysqli_connect('localhost','peter','abc123','my_db'); 
if (!$con) { 
    die('Could not connect: ' . mysqli_error($con)); 
} 

mysqli_select_db($con,"ajax_demo"); 
$sql="SELECT * FROM user WHERE id = '".$q."'"; 
$result = mysqli_query($con,$sql); 

echo "<table> 
<tr> 
<th>Firstname</th> 
<th>Lastname</th> 
<th>Age</th> 
<th>Hometown</th> 
<th>Job</th> 
</tr>"; 
while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['FirstName'] . "</td>"; 
    echo "<td>" . $row['LastName'] . "</td>"; 
    echo "<td>" . $row['Age'] . "</td>"; 
    echo "<td>" . $row['Hometown'] . "</td>"; 
    echo "<td>" . $row['Job'] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
mysqli_close($con); 
?> 
</body> 
</html> 
+0

Protip:不是一個很好的吸引人的標題。另外,我們是否修復別人的教程。 –

+0

加上你的db選擇;這會以某種方式失敗。 –

+0

??我並沒有要求任何人「修理」任何東西。我只是試圖理解作者代碼的概念。這不是一個有效的問題嗎?(這是我第一次發佈的問題)。如果是的話,我會在別處提出我的問題。 –

回答

4

mysqli_fetch_array()爲您提取單個結果行。當你第一次打電話時,它會返回第一個。當你第二次調用它時,它返回第二個 - 依此類推。因此,通過對其執行while循環,您將繼續獲得結果,直到沒有更多結果。通過設置$row,您可以確保每次都有相同的變量獲取結果。

+0

非常感謝。你完全清除它! –

+0

我很高興它幫助! –