2011-11-01 59 views
1

我有一个ID,我试图从我的数据库中读取,如果它等于或者少于那么我想要id ++的id,直到ID不在数据库中并将其用于表单的ID。问题是我不知道如何做一个从第一个开始的while循环,并检查数据库中是否存在id,如果它存在,则直到id不在数据库中,并使用该id作为输入的表单这是一个用户可以填写表格,并通过电子邮件发送到用户的PDF和另一个人的另一个人可以拉起表单并编辑它又输入一个新的数据或用户可以更正或改变表单上的东西而无需重新输入所有数据。我准备好了所有的表格。我有一个页面输入ID并拉起表单,它已经存储了数据,但我无法弄清楚如何使它为订单生成一个通用的ID。试图使用post数据插入到使用php的mysql

回答

1

您应该不需要手动设置表格中的ID。将您的ID字段设置为PRIMARY KEY将其设为INTUNSIGNED,最后打开AUTO INCREMENT。从那里,数据库将自动为你的id找到下一个值并使用它。

然后在您的php代码中,将新填写的表单插入到数据库中。并获得最后插入的ID,做一个链接,这个预充式形式:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('mydb'); 

mysql_query("INSERT INTO mytable (product) values ('kossu')"); 
printf("Last inserted record has id %d\n", mysql_insert_id()); 

实例关闭php.net的

附加代码块在意见中的要求:

mysql_query("INSERT INTO mytable (product) values ('kossu')"); 

// GETTING THE ID 
$id = mysql_insert_id(); 

//USING THE ID 
$body = "THIS IS AN EMAIL MESSAGE BODY, GO TO http://example.com/form.php?id=" . $id; 
mail('[email protected]', 'My Subject', $body); 
+0

谢谢吉兹现在我感觉..... happyr –

+0

很抱歉再次打扰你,但我想在电子邮件中显示此ID。我怎么会把这个ID后,通常我会使用发布数据“$ _POST [ID]”这样做,但由于它是MySQL数据我不知道如何显示在一行文字 –

+0

只是添加了一段代码检查我的帖子的底部。 –

1

没有必要自己找到空闲ID。您可以使用AUTO_INCREMENT列,并让数据库为您选择一个ID。