这是我到目前为止的代码。
<?php
include 'connect.php';
include 'main.php';
$id = $_SESSION['id'];
$page = "page1.php";
$sql_chk = " select * from html where id = '$id' and lastpage = '$page' ";
$rs_chk = mysql_query($sql_chk);
$num_chk = mysql_num_rows($rs_chk);
if ($num_chk == 0) {
mysql_query("INSERT INTO `html` (`id`, `lastpage`) VALUES ('$id', '$page') ");
} else {
$sql = "UPDATE html SET lastpage='$page' WHERE id='$id' ";
mysql_query($sql) or die("MYSQL Query Failed : " . mysql_error());
}
?>
基本上它只是将 $page 和 $id 插入一个名为 html 的表中并存储您所在的页面。现在我要做的是检查数据库里面lastpage
的数据是否等于“page2.php”|| “page3.php”等... 这样做的原因是,当您第一次访问此页面时,它会为您创建行并添加页面数据和您的用户 ID。现在假设您转到 page2,我希望它将该lastpage
列更新为 page2.php。但是,如果我回到 page1.php,我不希望它再次更新,因为我已经过了那个页面等等......
两个主要问题:
假设我转到 page1,它
lastpage
在我的用户 ID 下设置为 page1。然后我转到第 2 页,其中 $page =“page2.php”。它不会使用此脚本覆盖数据。例如,我需要这个脚本能够检查页面是否等于 page2.php 和最高 page10.php。如果它在 page2 和 page10 之间,那么它就不会更新数据库中的数据。尽管如果它不等于 page2 则它将继续执行脚本。
有谁知道我将如何做到这一点?
我敢打赌我想多了,这实际上比我想象的要容易,但是我整天都在编码,我想不清楚。
Page2.php
<?php
include 'connect.php';
include 'main.php';
$id = $_SESSION['id'];
$page = 2;
$sql_chk = " select * from html where id = '$id' and lastpage = '$page' ";
$rs_chk = mysql_query($sql_chk);
$num_chk = mysql_num_rows($rs_chk);
if ($num_chk == 0) {
mysql_query("INSERT INTO `html` (`id`, `lastpage`) VALUES ('$id', '$page') ");
} else {
$sql = "UPDATE html SET lastpage='$page' WHERE id='$id' and lastpage < $page";
mysql_query($sql) or die("MYSQL Query Failed : " . mysql_error());
}
$pageString = "page{$page}.php";
echo $pageString;
?>