2010-04-25 202 views
1

我基本上前端设计师,新的PHP和MySQL多个值,但我希望用户能够存储多个名称,并在MySQL数据库中的表有含义使用PHP命名names我会动态地创建表单字段使用jQuery每次用户点击一个链接,时间,以便用户可以输入1〜1,000,000不同的名称和含义存在将被存储在一个表叫namesPHP和MySQL在数据库中存储

我想知道的是我如何在数据库中存储多个名称和含义,然后将它们显示回给用户,供他们使用PHP编辑或删除MySQL &?

我创建MySQL表了。

CREATE TABLE names (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
userID INT NOT NULL, 
name VARCHAR(255) NOT NULL, 
meaning VARCHAR(255) NOT NULL, 
PRIMARY KEY (id) 
); 

这里是HTML。

<form method="post" action="index.php"> 
<ul> 
    <li><label for="name">Name: </label><input type="text" name="name" id="name" /></li> 
    <li><label for="meaning">Meaning: </label><input type="text" name="meaning" id="meaning" /></li> 
    <li><input type="submit" name="submit" value="Save" /></li> 
</ul> 
</form> 
+0

为什么你有隐藏的提交?你的意思是隐藏用户名吗? – MJB 2010-04-25 22:50:11

+0

隐藏的字段隐藏以将信息发送到PHP脚本进行验证。 – 2010-04-25 22:52:58

+1

这个问题真的太一般了。这听起来像你被困在“PHP”部分。我建议你运行一个基本的留言板风格的教程或三个,看看你学到了什么。然后回来更具体的问题。就目前而言,你的问题有点接近“给我codez !! 11!” – timdev 2010-04-25 22:54:16

回答

1

如果使用

<input name="myfield[]"> 

,那么你可以多次重复这个元素和PHP,你会得到所有的值的数组。

相反MyField的,你可以使用任何名字。只要确保在最后追加“[]”。当创建

// Assuming count($name) == count($meaning) 
for($i = 0; $i < count($name); $i++) 
{ 
    $sql = "INSERT INTO `names` (`id`, `userID`, `name`, `meaning`) VALUES('', '', '".$name[$i]."', '".$meaning[$i]."');"; 
    mysql_query($sql); 
} 

注意,因为有用户输入数组应addslashes转义:

1

你会以某种方式创建的namemeaningsPOST数据的数组,然后通过类似运行他们。