0

チェックボックスとラジオボタンの値をデータベースに挿入したいと思います...チェックボックスのオプションを選択し、ラジオボタンのオプションを選択すると、チェックボックスとラジオボタンの値がデータベースの同じ行に記録されます。 ..私は 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) 
?>
4

2 に答える 2

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>

2番目のこと:変更:

  $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;
于 2012-07-17T12:11:44.197 に答える
0

複数のチェックボックスを選択できるため、チェックボックスの名前は異なりますが、複数の無線オプションを選択できないため、同じ名前にする必要があります。

于 2012-07-17T12:12:30.453 に答える