2
私はユーザの選択に基づいて予約ブースをデータベースに保存しようとしますが、ブースごとに10個のチェックボックスがあり、ユーザはブースを予約する日を選択できます。各チェックボックスにはデータベースに独自のフィールドがあり、ユーザーがブースA01、D1、D2を選択すると予約ボタンを押すとD1とD2に値が挿入されます。しかし、私は私のテーブル構造 http://i.imgur.com/umYcI.gifPHP多次元配列をmysqlに挿入
マイブースインタフェース
データベースに格納するためにチェックし、チェックボックスの値を取得する方法を http://i.imgur.com/vKh6R.gif私は
<?php
session_start();
if (!isset($_SESSION['AUTHORIZED_USERNAME']) || empty($_SESSION['AUTHORIZED_USERNAME'])) {
header("location:index.php");
}else{
$user=$_SESSION['AUTHORIZED_USERNAME'];
}
include('db.php');
if($_REQUEST){
$id = $_REQUEST['search_category_id'];
$query2 = mysql_query("SELECT filenameBig, filename, url FROM eventinfo where eventID ='$id'");
$row = mysql_fetch_array($query2, MYSQL_ASSOC);
if($id == -1)
{
echo "<style type='text/css'>#btn_submit{visibility:hidden}</style>";
}
else{
/*echo "<a href='{$row['url']}'>Click me!</a>";*/
echo "<p><br><img src='{$row['filename']}' alt='' /></p>";
echo "<p></p>";
echo "<p align='right'><a href='$row[filenameBig]' target='_blank'>Click to view large image</a></p>";
echo "<hr size='1'>";
echo "<div style='padding-left:4px;' align='left'><strong>Booths Listing</strong>";
echo "<p></p>";
$query = "select boothAlias, totalDay from booths, eventinfo where booths.eventID=eventinfo.eventID && booths.eventID = ".$id."";
$_SESSION['EVENT_ID']=$id;
$result = mysql_query($query);
$result2= mysql_query($query);
echo "<table border='0' style='width:400px;table-layout:fixed' >";
$rows2 = mysql_fetch_array($result);
$Day=$rows2['totalDay'];
echo "<table>";
for ($day = 0; $day <= $Day; ++$day) {
if($day==0){
echo "<th>Booth</th>";
}else{
echo "<th>D".$day."</th>";
}
}
while($rows = mysql_fetch_array($result2)){
$boothAlias=$rows['boothAlias'];
$totalDay=$rows['totalDay'];
echo "<tr><td>$boothAlias</td>";
for ($day2 = 1; $day2 <= $totalDay; ++$day2) {
echo "<td><input name='day2[]' type='checkbox' value='$day2' /></td>";
}
echo "</tr>";
}
echo "</table>";
}
}
?>
リファレンススレッド - http://stackoverflow.com/questions/3362116/php-reformat-multidimensional-array-to-insert-into-mysql – adatapost
うんだけでなく、そのスレッドはそれをすべて言います。配列をループするforeach()ループを見て、あなたが望むように扱うことができます。 – DarkMantis
これらのSQLインジェクションホールを修正してください。http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Johan