php显示来自mysql的数据

时间:2011-08-14 18:21:23

标签: php mysql

您好我有以下脚本

show.php

<?php
    include "db.php";  // <== db connection
    include "sys.php";  //<== main system
    // statment to show $result as table
?>

我需要正确的语句来读取我的表数据并将其显示为表

我有一个包含7行的表:

username| name| age| etc 

他们大约需要每页显示20条记录

如何构建正确的声明?

3 个答案:

答案 0 :(得分:1)

首先,您需要使用mysql或mysqli(推荐)从数据库中获取数据。 由于您希望将项目数限制为20,因此在您的项目中添加限制条件是明智的 sql而不是以后过滤掉项目,这对性能至关重要。 最后,简单地遍历数据,为数据库中的每一行生成一个新的表行。

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

// remember to sanitize potential user input
$start = (int) (!empty($_GET['start']) ? $_GET['start'] : 0);
$end = (int) (!empty($_GET['end']) ? $_GET['end'] : 20);

$query = "SELECT username, name, age FROM users limit $start, $end";

if ($stmt = $mysqli->prepare($query)) {

    /* execute statement */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($username, $name, $age);

        ?>
        <table>
            <tr>
                <th>Username</th>
                <th>Name</th>
                <th>Age</th>
                <th></th>
                <th></th>
                <th></th>
                <th></th>
            </tr>
        <?php

    /* fetch values */
    while ($stmt->fetch()) {

            // do something with the fetched variables here
            ?>
            <tr>
                <td><?php echo htmlentities($username); ?></td>
                <td><?php echo htmlentities($name); ?></td>
                <td><?php echo htmlentities($age); ?></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <?php

   }

    /* close statement */
    $stmt->close();

        ?></table><?php
}

/* close connection */
$mysqli->close();

?>

答案 1 :(得分:0)

您需要使用某种分页库。

查看PHP Sense's pagination example并找出适合您的内容!

答案 2 :(得分:0)

需要更多信息(db.php和sys.php的用法)。

假设db.php包含一个用于访问数据库的类,则需要创建一个db实例并使用您的连接信息对其进行初始化。以下内容不一定反映您的设置或db类结构。

$db = new Db();

$host = "localhost";
$username = "bob";
$dbname = "bobs_db";
$password = "opensesame";

$db->connect( $host, $dbname, $username, $password );

如果成功,则运行查询:

$query = "SELECT username, name, age FROM users";

$db->query( $query );

$users = $db->fetch_all();

// Go through users using a foreach

要在每页显示20个用户,您需要执行所谓的分页,该分页使用MySQL的LIMIT关键字。一旦您提供更多信息,就会为此答案添加更多内容。