数据库保存并检索上次保存的值

时间:2013-03-12 07:59:43

标签: php javascript mysql

我对一个逻辑有一个困惑..它是一个我首先要验证的表单,然后我想保存在数据库中,然后我想在另一个页面上显示它。

我已经验证了它(将表单传输(即表单操作)到同一页面),我已将其保存在数据库中,现在我试图在另一页面上显示数据。

我想到的是,我会将数据保存到数据库并将一些唯一值传输到另一个页面,也许某种数字由相同表格的数据库自动生成。

现在我有问题该怎么办?任何想法的家伙?

因为它是逻辑因此我标记了php,MySQL和JS

3 个答案:

答案 0 :(得分:2)

执行INSERT此类操作后,请致电mysql_insert_id()

$lastInsertedId =  mysql_insert_id(); # Assuming you have an auto increment column in your table.
header('Location: view.php?id='.$lastInsertedId);

view.php获取ID&获取记录以显示它,

$id = $_GET['id'];

注意Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:1)

插入查询后,使用

$lastID = mysql_insert_id();

之后您可以重定向到另一个页面,例如

header("location:view_page.php?id=$lastID");

在view_page.php页面中,使用

$ lastID = $ _GET ['id'];

然后从数据库中获取记录以显示数据。

注意:仅当您的数据库表具有自动增量字段作为索引键时,它才有效。

答案 2 :(得分:1)

使用mysql_insert_id()是一种方法。但是如果您不想查询数据库并且仍然拥有该数据库,那么您可以这样做。下面是示例

<form name="frm" method="POST" action="display.php">
 <input type="text" name="your_name" value="" />
 <input type="text" name="age" value="" />
 <input type="submit" name="save" value="Save" />
</form>

现在位于 display.php 页面

<?php
 // DO YOUR DATABASE CONNECTIVITY
 $name = $_POST['your_name'];
 $age = $_POST['age'];

 $query = "insert into table_name values('$name','$age')";
 if(mysql_query($insert)) {

?>
<table>
 <tr>
  <td>Name</td>
  <td>Age</td>
 </tr>
 <tr>
  <td><?php echo $name;?></td>
  <td><?php echo $age;?></td>
 </tr>
</table>
<?php } else { echo "No Insertion"; } ?>

请记住mysql_ *函数已弃用。所以避免那些。还要检查sql注入