这是我填写的上一页中的“流程”页面
SESSION_START();
if(isset($_POST['submit'])) {
include 'connection.php';
$subkat_id = $_POST['idsubkat'];
$namaitem = $_POST['namaitem'];
$status = $_POST['status'];
mysql_query("INSERT INTO itemtemp (`item_id`,`subkat_id`,`namaitem`,`status`)
VALUES(NULL,'$subkat_id','$namaitem','$status')")
or die(mysql_error());
header("Location: newdata.php?id=".urlencode(trim($subkat_id)));
}
?>
这是我在 newdata.php 上的 PHP
<?php
include 'connection.php';
include 'header.php';
if(isset($_GET['id'])) {
$pass=$_GET['id'];
$hasilitem = mysql_query("SELECT itemtemp.namaitem,itemtemp.item_id FROM itemtemp INNER JOIN subkategori WHERE itemtemp.subkat_id=subkategori.subkat_id AND itemtemp.subkat_id='$pass'") or die (mysql_error());
while($arrayitem = mysql_fetch_array($hasilitem)) {
$nama=$arrayitem['namaitem'];
$id=$arrayitem['item_id'];
}
echo "<h4>".$nama."</h4>";
} else die ("No Item Selected ");
?>
这是通过显示数据库中的最后一个查询结果来实现的,但是如果有 2 个人同时插入数据,数据将会混合。有人可以帮我吗...
如何获取最近添加的内容?
最佳答案
您需要使用唯一标识符来实现此目的。一般来说,MySQL 在管理并发用户方面表现出色,但您不应该依赖非唯一的表数据来识别行。
此外,您应该使用 mysqli_*
或 PDO
而不是 mysql_*
,因为后者已被弃用并已在 PHP 7 中删除。
将您的首页更改为:
SESSION_START();
if(isset($_POST['submit'])) {
include 'connection.php';
$subkat_id = $_POST['idsubkat'];
$namaitem = $_POST['namaitem'];
$status = $_POST['status'];
mysql_query("INSERT INTO itemtemp (`item_id`,`subkat_id`,`namaitem`,`status`)
VALUES(NULL,'$subkat_id','$namaitem','$status')")
or die(mysql_error());
$lastId = mysql_insert_id(); //Assuming item_id is an auto-incrementing identifier
header("Location: newdata.php?id=".urlencode($lastId));
}
您更新的newData.php
<?php
include 'connection.php';
include 'header.php';
if (isset($_GET['id'])) {
$pass = $_GET['id'];
$hasilitem = mysql_query("SELECT itemtemp.namaitem,itemtemp.item_id FROM itemtemp INNER JOIN subkategori WHERE itemtemp.subkat_id=subkategori.subkat_id AND itemtemp.item_id='$pass'") or die(mysql_error());
while ($arrayitem = mysql_fetch_array($hasilitem)) {
$nama = $arrayitem['namaitem'];
$id = $arrayitem['item_id'];
}
echo "<h4>" . $nama . "</h4>";
} else
die("No Item Selected ");
?>
关于PHP 获取我最近插入的上一页的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36552625/