在 PHP 中显示 MySQL

Displaying MySQL in PHP

到目前为止,我有这个程序可以将我的 phpmyadmin 数据库链接到我的 php 脚本。现在,我需要在 table 中显示某些内容,例如 "all records," "all contacts whose last name starts with S," "all pet owners," 等。我的问题是:是否有更简单的方法将代码插入我的 php 脚本来显示我的数据库中的信息。现在我有那么长的 echo 语句来显示信息。有没有一种方法可以只使用 SELECT * 语句之类的东西来显示所有记录并简化我的代码?

<?php
    $db_hostname='localhost';
    $db_username='root';
    $db_password='';
    $db_database='Address Book';

    $connection = new mysqli(   $db_hostname,
                                $db_username,
                                $db_password,
                                $db_database);

    if ($connection->connect_error) {
        echo "Sorry";
    } else {
        echo "Connected!<br><br>";      
        $sql = "SELECT * FROM People";
        $result = $connection->query($sql);
        if (!$result) die ($connection->error);
        $n = $result->num_rows;     

        for ($i=1; $i<=$n; $i++) {
            $row = $result->fetch_array(MYSQLI_ASSOC);

    echo "<table>
            <tr><th>ID</th><th>First Name</th><th>Last Name</th>
            <th>Street Address</th><th>City</th>
            <th>State</th><th>Zip Code</th>
            <th>Email Address</th><th>Comment</th>
            <th>Number of pets</th></tr>";

        echo "<tr><td width=20>" . $row['iD'] . "</td><td>" . $row['First Name'] . "</td><td width=40>" .
                $row['Last Name'] . "</td><td width=200>" . $row['Street Address'] . "</td><td width=30>" .
                $row['City'] . "</td><td width=40>" . $row['State'] . "</td><td width=30>" .
                $row['Zip Code'] . "</td><td width=40>" . $row['Email Address'] . "</td><td width=20>" .
                $row['Comment'] . "</td><td width=10>" . $row['Number of pets'] . "</td></tr>";
        }
        echo "</table>";
    }
?>

从技术上讲,你做的一切都很好,但有一些更复杂的方法来开发你想要的东西。 查看以下链接:Object oriented programming in PHP and templating in PHP.

您应该先创建一个 table 结构,然后在该结构中插入您的 PHP 代码。例如:

<?php
 // Put your MYSQLI retrievals codes here
?>
<table>
  <tr>
    <th>FIELD_1</th>
    <th>FIELD_2</th>
    <th>FIELD_3</th>
  </tr>

<?php
while ($rows = $result->fetch_array(MYSQLI_ASSOC))
{
?>
  <tr>
    <td><?php echo $rows['field_1']; ?></td>
    <td><?php echo $rows['field_2']; ?></td>
    <td><?php echo $rows['field_3']; ?></td>
  </tr>
<?php
 }
?>

</table>

希望这对你有用:

<?php
$db_hostname='localhost';
$db_username='root';
$db_password='';
$db_database='Address Book';

$connection = new mysqli($db_hostname,$db_username,$db_password,$db_database);
if ($connection->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
} else {
    echo "Connected!<br><br>";
}

$last_name = "Lastname to search"; //You can post or get lastname in here.
/* create a prepared statement */
if ($sql = $connection->prepare("SELECT * FROM People WHERE `Last Name`=?")) {
    /* bind parameters for markers */
    $sql->bind_param("s", $last_name);
    /* execute query */
    $sql->execute();
    /* instead of bind_result: */
    $result = $sql->get_result();
    /* close statement */
    $sql->close();
}
?>
<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Street Address</th>
            <th>City</th>
            <th>State</th>
            <th>Zip Code</th>
            <th>Email Address</th>
            <th>Comment</th>
            <th>Number of pets</th>
        </tr>
    </thead>
    <tbody>
    <?
    /* now you can fetch the results into an array */
    while ($row = $result->fetch_assoc()) {
    ?>
        <tr>
            <td width=20><?=$row['iD'];?></td>
            <td><?=$row['First Name'];?></td>
            <td width=40><?=$row['First Name'];?></td>
            <td width=200><?=$row['Street Address'];?></td>
            <td width=30><?=$row['City'];?></td>
            <td width=40><?=$row['State'];?></td>
            <td width=30><?=$row['Zip Code'];?></td>
            <td width=40><?=$row['Email Address'];?></td>
            <td width=20><?=$row['Comment'];?></td>
            <td width=10><?=$row['Number of pets'];?></td>
        </tr>
    <?
    }
    ?>
    </tbody>
</table>