将单选按钮和复选框的值放入数据库PHP中

时间:2012-07-17 12:05:26

标签: php mysql database checkbox radio-button

我想尝试将复选框和单选按钮的值插入我的数据库...当我选择复选框选项并选择单选按钮选项时,复选框和单选按钮的值将记录在同一行中在数据库...我有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) 
?>

2 个答案:

答案 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)

我们可以选中多个复选框,因此复选框应该有不同的名称,但我们无法选择多个无线电选项,因此它们必须具有相同的名称。