这是我填写的上一页的“处理”页面
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个人同时插入数据,则数据将被混合。有人可以帮助我......
如何获得最近添加的内容?
答案 0 :(得分:0)
您需要使用唯一标识符来实现此目的。通常,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 ");
?>