1

チェックボックスからデータを取得できるこのコードがありますが、まだ mysql が含まれていないので、これを変更するのを手伝ってくれませんか?

フォームは次のようになります。

<form action="checkbox.php" method="post">
<input type="checkbox" name="checkbox[]" value="hostess_name">
<input type="checkbox" name="checkbox[]" value="hostess_familyname_en">
<input type="checkbox" name="checkbox[]" value="hostess_id">
<input type="checkbox" name="checkbox[]" value="hostess_firstname_en">
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>

私が挿入した値はデータベースフィールドであると想定されているため、選択した値を読み取るこのcheckbox.phpファイルがあります。

    <?php
mysql_connect("localhost", "root", "") or die(mysql_error());
echo "Connected to MySQL<br />";
?>
<?

/* and in your checkbox.php you do this: */

if(isset($_POST['Submit']))
{
echo "<pre>"; print_r($_POST);
}
$checked = mysql_real_escape_string(implode(',', $_POST['checkbox'])); 
echo $checked;
?>

チェックボックス値データベースフィールドにどのように割り当てることができますか? 私がやろうとしているのは、値を保存し、内破を使用してそれらをクエリにエクスポートすることです..助けて..

4

2 に答える 2

2

POST変数($ _POST ['checkbox'])は、実際にはすでに配列です。まず、実際に何を使用しているかを把握するには、次のようにします。

echo '<pre>';
print_r ($_POST['checkbox']);
echo '</pre>';

次に、スクリプトを表示して、出力を確認します。いくつかのキーと値を含む配列が表示される可能性があります。それを使用して、続行する方法を決定できます。

それが私だったら、私はあなたの仕事を成し遂げるために次のようなことをするでしょう:

$sql = "SELECT `table_id_column`, `another_column` ";
foreach ($_POST['checkbox'] as $key => $value) {
  $sql .= ", `$value`";
}
$sql .= " FROM `hostess` ORDER BY `another_colmn` ASC";

この方法でSQLステートメントを変更できるようにすることは非常に悪い習慣であることに注意してください。実稼働環境に配置する前に、これにセキュリティを導入することをお勧めします。

ルーク

于 2012-06-18T19:32:32.563 に答える
1

使用する

foreach($_POST[checkbox] as $key => $value {
    echo PHP_EOL . "Key is => " . $key . " Value is => " . $value . PHP_EOL;
}

これを試して出力を確認すると、さらに先に進む方法がわかります。

于 2012-06-18T19:12:40.583 に答える