PHP获取我最近插入的

时间:2016-04-11 15:12:51

标签: php mysql

这是我填写的上一页的“处理”页面     

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个人同时插入数据,则数据将被混合。有人可以帮助我......

如何获得最近添加的内容?

1 个答案:

答案 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 ");
?>