我想尝试将复选框和单选按钮的值插入我的数据库...当我选择复选框选项并选择单选按钮选项时,复选框和单选按钮的值将记录在同一行中在数据库...我有3个菜单选项..每个菜单有2个大小选项,这是单选按钮..这意味着每个大小选项应该有不同的名称对吗?? ...我的意思是field1 []。 ...
这是我的代码
resto.php
Menu :
<input type="checkbox" value="Siomay" name="tile[]">Siomay <br>
<input type="radio" name="field1[]" value="4" />Small
<input type="radio" name="field1[]" value="5" />Large<br>
<input type="checkbox" value="Batagor" name="tile[]">Batagor <br>
<input type="radio" name="field2[]" value="4" />Small
<input type="radio" name="field2[]" value="5" />Large<br>
<input type="checkbox" value="Pempek" name="tile[]">Pempek<br>
<input type="radio" name="field3[]" value="4" />Small
<input type="radio" name="field3[]" value="5" />Large<br>
<input name="confirm" type=submit id="confirm" value='Confirm'>
</form>
menu2.php
<?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['field1']);
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)
?>
答案 0 :(得分:1)
第一件事:您不必为单选按钮创建阵列。使用如下:
<input type="checkbox" value="Siomay" name="tile[]">Siomay <br>
<input type="radio" name="field1" value="4" />Small
<input type="radio" name="field1" value="5" />Large<br>
第二件事:改变:
$Tile = mysql_real_escape_string($_POST['tile']);
$Field = mysql_real_escape_string($_POST['field1']);
到
$Tile = mysql_real_escape_string($_POST['tile'])!=""?mysql_real_escape_string($_POST['tile']):0;
$Field = mysql_real_escape_string($_POST['field1'])!=''?mysql_real_escape_string($_POST['field1']):0;
答案 1 :(得分:0)
我们可以选中多个复选框,因此复选框应该有不同的名称,但我们无法选择多个无线电选项,因此它们必须具有相同的名称。