Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP页面化视图Mysql_Php_Mysqli - Fatal编程技术网

PHP页面化视图Mysql

PHP页面化视图Mysql,php,mysqli,Php,Mysqli,下面你可以看到一个脚本,我正在我的网站上尝试。一切正常,但我在每页上只看到5次相同的记录,总是记录1。因为他没有进入第二张唱片,我错了什么 谢谢你的建议 <?php $per_page = 5; $query = "SELECT * FROM article"; $mysqli = mysqli_connect("localhost", "root", "******", "Website"); $res = mysqli_query($mysqli, $query); $row =

下面你可以看到一个脚本,我正在我的网站上尝试。一切正常,但我在每页上只看到5次相同的记录,总是记录1。因为他没有进入第二张唱片,我错了什么

谢谢你的建议

<?php


$per_page = 5;

$query = "SELECT * FROM article";
$mysqli = mysqli_connect("localhost", "root", "******", "Website");
$res = mysqli_query($mysqli, $query);
$row = mysqli_fetch_assoc($res);
$total_results = mysqli_num_rows($res);
$total_pages = ceil($total_results / $per_page);

if (isset($_GET['page']) && is_numeric($_GET['page']))

{

$show_page = $_GET['page'];

if ($show_page > 0 && $show_page <= $total_pages)

{

$start = ($show_page -1) * $per_page;

$end = $start + $per_page;

}

else

{

// error - show first set of results

$start = 0;

$end = $per_page;

}

}

else

{

$start = 0;

$end = $per_page;

}


echo "<p><a href='articles.php'>view All</a> | <b>By Page:</b> ";

for ($i = 1; $i <= $total_pages; $i++)

{

echo "<a href='articlespagenated.php?page=$i'>$i</a> ";

}

echo "</p>";

echo "</p>";

echo "<table border='1' cellpadding='10'>";

echo "<tr> <th>ArtID</th> <th>Art Pictureto</th> <th></th> <th></th></tr>";

for ($i = $start; $i < $end; $i++) {

if ($i == $total_results) { break; }

echo "<tr>";

echo '<td width="40" align="center" valign="middle">' . $row['artid'] . '</td>';

echo '<td width="130" align="center" valign="middle">' . $row['artfoto'] . '</td>';

echo '<td width="40" align="center" valign="middle"><a href="articleedit.php?artid=' . $row['artid'] . '">Edit</a></td>';

echo '<td width="40" align="center" valign="middle"><a href="artikcledelete.php?artid=' . $row['artid'] . '">Delete</a></td>';

echo "</tr>";

}

echo "</table>";

?>

问题在于您只抓取了第一行:

$query = "SELECT * FROM article";
$mysqli = mysqli_connect("localhost", "root", "******", "Website");
$res = mysqli_query($mysqli, $query);
$row = mysqli_fetch_assoc($res);
您需要的是在mysqli\u fetch\u assoc上循环:

$query = "SELECT * FROM article";
$mysqli = mysqli_connect("localhost", "root", "******", "Website");
$res = mysqli_query($mysqli, $query);
$rows = [];
while (($row = mysqli_fetch_assoc($res)) !== null) {
    $rows[] = $row;
}
然后,您可以在
$rows
上使用
foreach()
输出数据

对于分页,我建议使用mysql的
LIMIT
OFFSET
功能:

$page = 2;
$rows_per_page = 5;
$offset = $page * $rows_per_page;
$query = "SELECT * FROM article LIMIT $rows_per_page OFFSET $offset";
$mysqli = mysqli_connect("localhost", "root", "******", "Website");
$res = mysqli_query($mysqli, $query);
$rows = [];
while (($row = mysqli_fetch_assoc($res)) !== null) {
    $rows[] = $row;
}
如果要从用户那里获得此信息,请确保对
$page
进行清理,或者查看准备好的语句