簡體   English   中英

重構此mysql表顯示代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM