4

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

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

我的想法是,我会将数据保存到数据库并将一些唯一值传输到另一个页面,可能是数据库自动生成的与同一表单相关的某种数字。

现在我有问题怎么办?有什么想法吗?

因为这是一个逻辑,所以我标记了 php、MySQL 和 JS

4

3 回答 3

2

执行类似这样的操作后调用mysql_insert_id() ,INSERT

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

比您view.php获取 id & fetch 记录来显示它,

$id = $_GET['id'];

注意请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-03-12T08:04:49.043 回答
1

插入查询后,使用

$lastID = mysql_insert_id();

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

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

比在 view_page.php 页面中,使用

$lastID= $_GET['id'];

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

注意:只有当您的数据库表具有自动递增字段作为索引键时,它才会起作用。

于 2013-03-12T08:15:50.813 回答
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注入

于 2013-03-12T08:29:24.050 回答