通过php将单选按钮和复选框的值放入数据库的1个字段中

时间:2012-07-16 04:53:19

标签: php database checkbox radio-button

如何将单选按钮和复选框的值一起插入到1行数据库中。例如,该表包含菜单名称和食物大小。数据库表包含食物和价格..所以当我们选择我们想要的菜单复选框并选择食物使用单选按钮的大小时,复选框和单选按钮的值将存储在1行数据库中... 请帮我看看

这是我的代码 menu.php

<form action="price.php" method="post">

Menu : <br>
<input type="checkbox" value="Siomay" name="tile[]">Siomay <br>
    <input type="radio" name="field[]" value="4" />Small
    <input type="radio" name="field[]" value="5" />Large<br>


<input name="confirm" type=submit id="confirm" value='Confirm'>

</form>

price.php

<?php
$con = mysql_connect("localhost","root");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("project1", $con);

$insert="INSERT INTO menu(name, price) VALUES ('".$_POST['tile']"','".$_POST['field']"')";

if (!mysql_query($insert, $con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con) 
?>

2 个答案:

答案 0 :(得分:0)

您似乎不需要将您的名字作为数组,因此我首先会从您的html中删除“name”attr中的“[]”。

在php中,连接两个值以生成一个值,然后将其插入到数据库中。类似的东西:

<?php
$tile = $_POST['tile'];
$field = $_POST['field'];

//concatenate your variables however you want them stored in your db (here it will be tile, field)
$combo = $tile . ', ' . $field;

//connect to db (notice the mysqli function, not mysql!)
$con = mysqli_connect("localhost","username","password","database_name");
if (!$con)
{
    die('Could not connect: ' . mysqli_error());
}

//build query and store result in $result var
$query = "INSERT INTO `tablename` (name) VALUES (" . $combo . ")";
$result = mysqli_query($query);

echo "1 record added";
?>

其中(name)将是您希望存储连接值的列名。显然,请填写您自己的用户名,密码,db_name等信息。

注意:现在标准做法是使用mysqli函数(或PDO)而不是mysql函数来帮助防止sql注入。这里没有相关性,但无论如何都是好的做法。希望这有帮助!

答案 1 :(得分:0)

你可以尝试类似的东西;

<?php 
    $size = sizeof($_POST['tile'])
    while($size >= 0) {
      $insert="INSERT INTO menu(name, price) VALUES ('".$_POST['tile'][$size]"','".$_POST['field'][$size]"')";

    $size--;
   }
?>