php - 分页和 MySQL 结果集

标签 php mysql pagination

我正在用 php/MySQL 开发一个网站。假设这是一个网站,供我的学生在线查看他们各自学期的类(class)/科目成绩。逻辑如下。 terms.php 页面列出了第一学期到第八学期。学生单击他们的学期链接,然后转到 course.php,其中提供了该学期所有类(class)/科目的链接。当他们单击任何科目时,subjectresult.php 将打开,显示该科目所有学生的成绩。

我将学期和科目值作为 URL 中的参数传递,如下所示。

courses.php?semester=学期名称

我还使用分页来每页仅显示 10 个结果。

到目前为止一切顺利。 subjectresult.php 仅显示 10 个结果,底部有分页链接。一切都漂亮整洁。

我的问题是,当我单击第 2 页时,所有内容都会消失,因为主题参数现在不再位于 URL 中。 两个网址如下: 类(class)/主题 URL:subjectresult.php?sub=subjectname 页面 # URL:subjectresult.php?page_no=pagenumber

我所做的解决方法是更改​​分页链接逻辑并添加主题名称作为第二个参数。现在一切正常,部分 URL 如下: subjectresult.php?sub=主题名称&page_no=页码

请注意,我是新手,仍在学习中。

现在我有几个问题。 我做对了吗? (我不这么认为) 当 subjectresult.php 页面第一次加载时,如何存储我的 subject_result 查询结果,这样我就不必在每个分页链接中一次又一次地传递这个结果?

或者简而言之......如何正确地做到这一点?

提前致谢。

最佳答案

你的方法没问题。 如果您想存储并重用主题值, 在 PHP 中使用 session 变量。 例如:

session_start();
// give the subject value to the session variable. 
$_SESSION['subject'] = "subject";
// get the value from the session variable if needed.

喜欢

session_start();
$subject = $_SESSION['subject'];

有关 session 的更多信息,请查看 here..

关于php - 分页和 MySQL 结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44345983/

相关文章:

php - 可以实现empty()的对象处理

php - 我应该使用 GROUP_CONCAT 吗?

AngularJS - ng-repeat,当它结束时,应该有一条消息说 'no more products'

mysql - 下一个和上一个 ID 与 WHERE 速度较慢

mysql - 数据库设计MySQL

javascript 链接分页

php - Codeception 测试失败,即使 try-catch

php - 如何拦截Laravel HTTP错误响应

mysql - 如何使用 sails 在 mysql 中存储对象类型字段

mysql - 将数据从 Local Rails 应用程序推送到 Elastic Beanstalk