-1

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

价格.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) 
?>
4

2 回答 2

0

您似乎不需要将您的名字作为一个数组,因此我将首先从您的 html 中的“名称”属性中删除“[]”。

在 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 注入。在这里它不那么相关,但无论如何它都是很好的做法。希望这可以帮助!

于 2012-07-16T05:07:17.637 回答
0

你可以尝试类似的东西;

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

    $size--;
   }
?>
于 2012-07-16T05:11:14.803 回答