[英]Re-factoring this mysql table display code
我並不完全精通PHP,但是在從MySQL查詢功能回顯所收集的值時遇到了一些問題。
我相信我知道問題出在哪里,但我沒有足夠的能力來解決它,如果可以的話,請您解決。
PHP函數 (完美運行)。
<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT Name, Role, Salary FROM `users-table`';
mysql_select_db('user_records');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "--------------------------------<br>",
"Name: {$row['Name']} <br> ".
"Role: {$row['Role']} <br> ".
"Salary : {$row['Salary']} <br> ".
"--------------------------------<br>";
}
mysql_close($conn);
?>
這樣可以完美顯示數據! 但是,我現在正嘗試將其包含在格式良好的HTML表中。 (這就是為什么我要關閉上面的php標簽的原因)。
然后,我試圖使用這樣的表:
<table >
<tr>
<td>
<?php echo $row['Name'] ?>
</td>
....
它什么也沒輸出,-我認為這個問題是由於我關閉第一個函數然后嘗試引用$row
而導致的,它不知道該怎么辦...?
我想我需要使用while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
我如何while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
它,以便可以將上述函數中的內容回顯到我的表中?
您沒有編寫嘗試的代碼,但是這里有一些功能:
$link = mysqli_connect("myhost", "myuser", "mypassw", "mybd");
echo "<table>";
while ($row = mysqli_fetch_array($link, $retval, MYSQL_ASSOC)) {
echo "
<tr>
<td>{$row['Name']}</td>
<td>{$row['Role']}</td>
<td>{$row['Salary']}</td>
</tr>
";
}
echo "</table>";
PS:由於不推薦使用MySQL,因此我將您的代碼替換為MySQLi
,建議您這樣做:)
正如@zessx所說,您應該使用MySQLi或PDO。
無論如何回答您的問題,您必須更改php代碼中的循環
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "--------------------------------<br>",
"Name: {$row['Name']} <br> ".
"Role: {$row['Role']} <br> ".
"Salary : {$row['Salary']} <br> ".
"--------------------------------<br>";
}
至
echo '<table>';
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo " <tr>" .
" <td>Name: {$row['Name']}</td>".
" <td>Role: {$row['Role']}</td>".
" <td>Salary : {$row['Salary']}</td>".
" </tr>";
}
echo '</table>';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.