PHP& MySQL在数据库中存储多个值

时间:2010-04-25 22:43:30

标签: php mysql

我基本上是一名前端设计师,也是PHP和MySQL的新手,但我希望用户能够存储多个名称,并且在使用PHP的名为names的MySQL数据库表中存在意义我将动态创建表单每次用户点击链接时使用JQuery的字段,这样用户就可以输入1到1,000,000个不同的名称,其含义将存储在名为names的表中。

我想知道的是如何在数据库中存储多个名称及其含义,然后将它们显示给用户,以便他们使用PHP& amp;编辑或删除它们。 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>

2 个答案:

答案 0 :(得分:1)

如果您使用

<input name="myfield[]">

然后你可以多次重复这个元素,在PHP中你会得到一个包含所有值的数组。

您可以使用任何名称代替myfield。只需确保在末尾添加“[]”。

答案 1 :(得分:1)

你会以某种方式从name数据中创建一个meaningsPOST的数组,然后运行它:

// 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对数组进行转义。