我正在使用此功能连接并显示数据库中的值
function display_content($the_id)
{
$result = mysql_query("SELECT * FROM tbl_ADBTAG WHERE bcv = $the_id");
while($row = mysql_fetch_array($result))
{
echo $row['content'];
}
//mysql_close($con);
}
我评论了 mysql_close 行,因为我认为如果关闭数据库连接,我将无法移动下一个和上一个。如果我错了,请纠正我,因为我是php和mysql的新手。
我实际上是在尝试使用mysqli,因为在我的其他帖子上有人说它已被弃用但是当我使用mysqli时我的代码会变得混乱所以现在我想用mysql完成我的项目并在我有机会时转移到mysqli回顾mysqli文档。
现在回到问题,上面的函数通过表单提交按钮调用。我实际上有3个按钮。 Go,Prev,Next。 Go按钮充当提交按钮,使内容正常。
我现在的目标是能够使用prev和next按钮从数据库的当前行移动上一个和下一个。
知道怎么做吗?
最后,我应该在哪里正确调用mysql_close()函数?
由于
答案 0 :(得分:0)
如果您想要一个固定列表向前/向后移动,您可以将$result
变量移动到会话并使用它来移动。
但是,如果您想要点击此实时数据,则无效/
答案 1 :(得分:0)
你不需要调用mysql_close()因为php现在就这样做。在这种情况下可以这样做,因为每次调用脚本时都会创建mysql连接。
在这种情况下,您需要读取数据库中上一个和下一个条目的ID,并将下一个和上一个按钮的路径设置为此ID。
答案 2 :(得分:0)
因为你想要的是从数据库表中分页内容(记录) 那么最好的方法是使用SQL start和limit结构。
SELECT * FROM tablename WHERE .... LIMIT start_index, number_of_items
WHERE the values are described as below:
start_index: The value from which to pull the records. The first record is 0
number_of_items: The maximum number of records to SELECT. e.g. 10 (Note: Phpmyadmin uses 30)
了解这一点,您必须跟踪当前使用的起始索引,以便了解如何提取NEXT
或PREVIOUS
页面
Example:
Lets assume that we want our start index variable name to be xs, we could code like so:
$start = (isset($_GET["xs"]) and intval($_GET["xs"]) >= 0)? intval($_GET["xs"]):0;
//the first time on the page -- set the default start index
$_SESSION["start_index"] = $start;
//save it anyhow you want to keep track of the current start index
$sql = "SELECT ..... LIMIT $start,25";
..... //stuff to pull your content
请注意,对<a></a>
和buttons
链接使用NEXT
代码而不是PREVIOUS
可能更好。
我还有一个小脚本来处理这个可用的分页事件on github
查看documentation wiki
希望这可以帮助你
答案 3 :(得分:0)
使用限制来制作分页:
mysql> select * from actor limit 0,5;
+----------+------------+--------------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+--------------+---------------------+
| 1 | PENELOPE | GUINESS | 2006-02-15 04:34:33 |
| 2 | NICK | WAHLBERG | 2006-02-15 04:34:33 |
| 3 | ED | CHASE | 2006-02-15 04:34:33 |
| 4 | JENNIFER | DAVIS | 2006-02-15 04:34:33 |
| 5 | JOHNNY | LOLLOBRIGIDA | 2006-02-15 04:34:33 |
+----------+------------+--------------+---------------------+
5 rows in set (0.00 sec)
mysql> select * from actor limit 5,5;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 6 | BETTE | NICHOLSON | 2006-02-15 04:34:33 |
| 7 | GRACE | MOSTEL | 2006-02-15 04:34:33 |
| 8 | MATTHEW | JOHANSSON | 2006-02-15 04:34:33 |
| 9 | JOE | SWANK | 2006-02-15 04:34:33 |
| 10 | CHRISTIAN | GABLE | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
5 rows in set (0.00 sec)
mysql> select * from actor limit 10,5;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 11 | ZERO | CAGE | 2006-02-15 04:34:33 |
| 12 | KARL | BERRY | 2006-02-15 04:34:33 |
| 13 | UMA | WOOD | 2006-02-15 04:34:33 |
| 14 | VIVIEN | BERGEN | 2006-02-15 04:34:33 |
| 15 | CUBA | OLIVIER | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
5 rows in set (0.00 sec)
其中limit的第一个值是开始,第二个值是结果的数量,在你的代码中你必须给它一个页码而不是'start'号。
示例2:
mysql> select * from bank;
+------+--------+------+
| id | amount | bank |
+------+--------+------+
| 1 | 100000 | 1 |
| 2 | 256415 | 2 |
| 3 | 142535 | 1 |
| 1 | 214561 | 2 |
| 2 | 123456 | 1 |
| 1 | 987654 | 2 |
+------+--------+------+
6 rows in set (0.00 sec)
mysql> select * from bank limit 0,2;
+------+--------+------+
| id | amount | bank |
+------+--------+------+
| 1 | 100000 | 1 |
| 2 | 256415 | 2 |
+------+--------+------+
2 rows in set (0.00 sec)
mysql> select * from bank limit 2,2;
+------+--------+------+
| id | amount | bank |
+------+--------+------+
| 3 | 142535 | 1 |
| 1 | 214561 | 2 |
+------+--------+------+
2 rows in set (0.00 sec)
mysql> select * from bank limit 4,2;
+------+--------+------+
| id | amount | bank |
+------+--------+------+
| 2 | 123456 | 1 |
| 1 | 987654 | 2 |
+------+--------+------+
2 rows in set (0.00 sec)