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


put the value of radio button and checkbox into 1 field in database via php

如何将单选按钮和复选框的值一起插入到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) 
?>

你似乎不需要你的名字是一个数组,所以我会首先从html中的"name"属性中删除"[]"。

在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)将是您希望存储连接值的列名。显然,填写您自己的用户名、密码、数据库名称等信息。

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

您可以尝试以下操作:;

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