我试图学习如何从DevelopPHP创建分页,但在他们的教程中,他们没有教我如何为$ list创建数据,这意味着我如何回应$ firstname,$ lastname和$ datemade?我试过了
<?php
echo $firstname = "Name";
echo $lastname = "Lastname";
echo $datemade = "06 Oct 2016";
echo $list;
?>
但它不会显示列表中的其他文本,例如&#34;点击链接查看此推荐书&#34;或&#34;书面&#34;。
应该是这样的:
但我的表现如下:
对于展位$id = $row["id"];
也是如此?
答案 0 :(得分:1)
您需要更多地研究他们的代码,不要只是复制和粘贴。你告诉程序echo
这些变量,它会为你回应它们。在教程中,他们似乎将所有'可分页'数据存储在$ list中,因此您需要查看它。 $id = $row["id"];
打印mySql
id
列
编辑:我将尝试解释您提供的网站中的大多数行。 我不知道你是否熟悉SQL,但是你需要了解mysql的基础知识才能创建你的分页脚本。
$sql = "SELECT COUNT(id) FROM testimonials WHERE approved='1'";
$query = mysqli_query($db_conx, $sql);
$row = mysqli_fetch_row($query);
$ sql准备sql语句,它将计算mysql表推荐中的条目,其批准列设置为1.然后$ query使用mysqli_query处理sql语句($ db_con在mysqli_connection.php中声明,它告诉服务器如何连接数据库)。 Check here
$ row是一个数组,此处它只包含1个元素 - 已批准的推荐书中的条目数= 1。因此声明$ rows并将其设置为该数字 - $ row [0]。
$page_rows = 10;
$last = ceil($rows/$page_rows);
ceil
是一个php函数,它将数字四舍五入到最接近的整数(0.4 - > 1,5,5 - > 6)。 $ page_rows表示您希望每页显示多少个推荐,因此$ last获取推荐总数并将它们除以10,结果就是页数。 Check here
我将跳过他们代码的下几行,因为它们非常简单。
if(isset($_GET['pn'])){
$pagenum = preg_replace('#[^0-9]#', '', $_GET['pn']);
}
$ _ GET是一个从URL收集数据的超全局。如果您有18个推荐,如果您转到第2页,则网址将采用“your_website /?pn = 2”的形式。所以这里$ pagenum只有在设置时才设置为超全局pn
的值(因为默认情况下,当你在第1页时pn
未设置)Check here
$limit = 'LIMIT ' .($pagenum - 1) * $page_rows .',' .$page_rows;
这也是一个SQL语句,告诉服务器要显示的推荐数量应限制为10 Check here
$sql = "SELECT id, firstname, lastname, datemade FROM testimonials WHERE approved='1' ORDER BY id DESC $limit";
$query = mysqli_query($db_conx, $sql);
这两个再一次是mysql语句,从您的表中选择已批准= 1的列id, firstname, lastname, datemade
,并按相反的顺序Check here
现在我非常肯定在你研究了上述所有内容之后,你将能够弄清楚下一行是做什么的(他们的评论应该也有帮助)。
重要的部分在这里:
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$id = $row["id"];
$firstname = $row["firstname"];
$lastname = $row["lastname"];
$datemade = $row["datemade"];
$datemade = strftime("%b %d, %Y", strtotime($datemade));
$list .= '<p><a href="testimonial.php?id='.$id.'">'.$firstname.' '.$lastname.' Testimonial</a> - Click the link to view this testimonial<br>Written '.$datemade.'</p>';
}
while语句在PHP中必不可少。当{ code }
中的条件为真时,它基本上继续执行while (condition)
中的代码。需要注意的是,$ row是一个数组(类型var_dump($row)
,以查看$ row包含的内容)。 $ row这里应该包含你的mysql表项值。因此,如果您的mysql表有一个名为post_content的列,则可以使用$ row [“post_content”]输出其值。
mysqli_close关闭与数据库的连接。
如果您有任何不明白的事情请告诉我