-1

ラジオボタンとチェックボックスの値を一緒に1行のデータベースに挿入する方法..たとえば、テーブルにはメニューの名前と食べ物のサイズが含まれています。データベース テーブルには食品と価格が含まれています。そのため、チェックボックスで必要なメニューを選択し、食品用途のラジオ ボタンのサイズを選択すると、チェックボックスとラジオ ボタンの値が 1 行のデータベースに保存されます。アウト

これは私のコード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="field[]" value="5" />Large<br>


<input name="confirm" type=submit id="confirm" value='Confirm'>

</form>

価格.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) 
?>
4

2 に答える 2

0

名前を配列にする必要はないようです。そのため、まず、HTML の「名前」属性から「[ ]」を削除します。

PHP では、2 つの値を連結して 1 つの値を作成し、それをデータベースに挿入します。何かのようなもの:

<?php
$tile = $_POST['tile'];
$field = $_POST['field'];

//concatenate your variables however you want them stored in your db (here it will be tile, field)
$combo = $tile . ', ' . $field;

//connect to db (notice the mysqli function, not mysql!)
$con = mysqli_connect("localhost","username","password","database_name");
if (!$con)
{
    die('Could not connect: ' . mysqli_error());
}

//build query and store result in $result var
$query = "INSERT INTO `tablename` (name) VALUES (" . $combo . ")";
$result = mysqli_query($query);

echo "1 record added";
?>

(name) は、連結された値を格納する列名になります。もちろん、ユーザー名、パスワード、db_name などの独自の情報を入力してください。

注: 現在、sql インジェクションから保護するために、mysql 関数ではなく mysqli 関数 (または PDO) を使用するのが標準的な方法です。ここではそれほど関連性はありませんが、良い習慣です。お役に立てれば!

于 2012-07-16T05:07:17.637 に答える
0

次のようなものを試すことができます。

<?php 
    $size = sizeof($_POST['tile'])
    while($size >= 0) {
      $insert="INSERT INTO menu(name, price) VALUES ('".$_POST['tile'][$size]"','".$_POST['field'][$size]"')";

    $size--;
   }
?>
于 2012-07-16T05:11:14.803 に答える