2012-07-17 41 views
0

我想嘗試在數據庫中插入複選框和單選按鈕的值...當我選擇複選框的選項並選擇單選按鈕的選項時,複選框和單選按鈕的值將記錄在數據庫的同一行中...我有3個菜單選項。每個菜單都有2個大小選項,它是單選按鈕。這意味着每個大小選項都應該有不同的名稱。 ......我的意思是名稱是field [] ....把單選按鈕和複選框的值放到數據庫中PHP

這是我的代碼

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

您不能多選一個無線電領域。因此命名一個無線電場field3 []是毫無意義的。 – 2012-07-17 12:07:27

回答

1

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; 
0

我們可以選擇多個複選框,因此複選框應該有不同的名稱,但我們不能選擇多個無線電選項,所以他們必須有相同的名字

+0

只要您將它們設爲數組,您可以對複選框使用相同的名稱。但你對單選按鈕是正確的。 – aynber 2012-07-17 12:45:58