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

时间:2012-07-16 05:02:46

标签: php mysql checkbox phpmyadmin radio-button

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

请帮帮我 我是这个领域的新手 感谢

这是代码

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="fiel" 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) 
?>

1 个答案:

答案 0 :(得分:0)

您通常使用mysql的insert函数。 Here是一些基本但很好的解释,here你可以找到官方的更多细节,但对于新手也更难理解。但是你必须在PHP中使用它,正如你在第一个链接示例中看到的那样。

从php读取时,这些值会以常规$_POST$_GET的形式收到。请记住也使用mysql_real_escape_string()

有关您的项目,表名,代码等的更多信息(请阅读faq),我们将能够为您提供更多帮助。使用return来分离想法,你写的内容真的很难读。此外,如果你包括what you have tried到目前为止会很棒,所以你不要觉得你希望我们做你的工作。

修改

在你输入代码之前,我认为你更像是一个新手,所以我发布了一些非常基本的例子。现在这里有一些可行的代码:

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

$Tile = mysql_real_escape_string($_POST[tile]);
$Field = mysql_real_escape_string($_POST[field]);

if ( !empty($Tile) && !empty($Field) )
{
  $insert="INSERT INTO menu(name, price) VALUES ('$Tile','$Field')";
  if (!mysql_query($insert, $con))
    {
    die('Error: ' . mysql_error());
    }
echo "1 record added";
}
else echo "Please select at least 1 menu.";

mysql_close($con) 
?>

为什么menu.php中的名称为tile[]?仅使用tile进行测试?我不是说这是错的,我只是说我从未见过它。另外,你有什么问题?它没有保存任何东西?

请注意,if ( !empty($Tile) && !empty($Field) )还可用于防止用户尝试对您的网页进行恶意攻击,而不仅仅是确保他们选择了一个菜单。