在单独的字段中插入每个数组项

时间:2012-06-17 05:26:28

标签: php mysql

我看得很透彻,但我没有找到解决方案(或许我没有意识到自从我是新手以后)......这是我的问题:

我的表有六个字段:username,want1,want2,want3,want4,want5。我的表单有用户名,还有一个多选SELECT框,其中选择了五个愿望。我想将该用户名和那些选项一起作为记录插入到表中相应的“单元格”中。这是我的代码(对于提交/ $ _ POST操作)到目前为止:

*注意:我已将多个SELECT框命名为“want []”,以便它知道它是一个数组。

<?php
//variables
$username = $_POST['username'];
$want = $_POST['wants'];
//connect
mysql_connect("localhost", "root", "password") or die(mysql_error()); 
mysql_select_db("test") or die(mysql_error()); 
//insert 
mysql_query("INSERT INTO The_Table (username,want1,want2,want3,want4,want5) VALUES ('$username','$want[0]','$want[1]','$want[2]','$want[3]','$want[4]')");
?>

当我测试时,没有显示错误/错误,但表中没有填充记录。我很擅长编码,我道歉。希望有一个简单的解决方案。非常感谢你的任何帮助或建议!

2 个答案:

答案 0 :(得分:1)

试试这段代码我希望它适合你...

  

form.php的

<form action="insert.php" method="post" name="form">
user_name : <input name="u_name" type="text" /><br />
wish 1 : <input name="wish_1" type="checkbox" value="1" /><br />
wish 2 : <input name="wish_2" type="checkbox" value="2"/><br />
wish 3 : <input name="wish_3" type="checkbox" value="3"/><br />
wish 4 : <input name="wish_4" type="checkbox" value="4"/><br />
wish 5 : <input name="wish_5" type="checkbox" value="5"/><br />
<input type="submit" />
</form>
  

insert.php

<?php
//variables
$username = isset($_POST['u_name'])?$_POST['u_name']:'';
$wish_1   = isset($_POST['wish_1'])?$_POST['wish_1']:'';
$wish_2   = isset($_POST['wish_2'])?$_POST['wish_2']:'';
$wish_3   = isset($_POST['wish_3'])?$_POST['wish_3']:'';
$wish_4   = isset($_POST['wish_4'])?$_POST['wish_4']:'';
$wish_5   = isset($_POST['wish_5'])?$_POST['wish_5']:'';
//connect
mysql_connect("localhost", "root", "password") or die(mysql_error()); 
mysql_select_db("test") or die(mysql_error()); 
//insert 
mysql_query("INSERT INTO The_Table (username,want1,want2,want3,want4,want5) 
VALUES ('".$username."','".$wish_1."','".$wish_2."'
,'".$wish_3."','".$wish_4."','".$wish_5."')");
?>

答案 1 :(得分:0)

在你的描述中,你说你命名了选择“愿望”和字段“wish1”,“wish2”等,但是在你的代码中你称之为['want']和“want1,want2”。如果你的代码真的如此,那就会导致问题......