php - 比较表中的内容

标签 php mysql sql

这是我目前的代码。

<?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,我不想让它再次更新,因为我已经过了那个页面等等......

两个主要问题:

  1. 假设我转到 page1,它将 lastpage 设置为我的用户 ID 下的 page1。然后我转到 $page = "page2.php"的 page2。它不会使用此脚本覆盖数据。

  2. 例如,我需要这个脚本来检查页面是否等于 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;
?>

最佳答案

为什么不删除“page2”并使其简单为“2”,然后添加页位。然后你可以做一个数字比较。

"UPDATE html SET lastpage=$page WHERE id='$id' and lastpage < $page ";

其中 $page 只是数字。

然后无论你要比较 'page10.php' == 'page2.php' 还是什么,你都可以比较数字,如果你真的需要字符串,稍后再做:

$pageString = "page{$page}.php"

关于php - 比较表中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928924/

相关文章:

php - 使用 PHP 或 Javascript 自动将浏览器重定向到多个 IP 地址

mysql - SQL - 在很多情况下 updated_date 为 null 时如何按 item_id 和 last_updated 日期查询?

mysql - 在一个表中查找与不同表中的其他记录没有关联的记录

sql - PIVOT 表仅在 SQL Server 中的一行中?

mysql - 如何将表结构从几列修改为一列?

sql - T SQL 导出到 XML

php - 无法加载资源: the server responded with a status of 500 (Internal Server Error) when loading php script

javascript - 如何使用 Codeigniter 将 id 传递给 Bootstrap 模式?

php - 我无法显示数据库 MySQL 中的图像

php - 如何绕过php中的最大执行时间?