2011-10-21 21 views
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>"; 
} 
} 
?> 
+3

リファレンススレッド - http://stackoverflow.com/questions/3362116/php-reformat-multidimensional-array-to-insert-into-mysql – adatapost

+0

うんだけでなく、そのスレッドはそれをすべて言います。配列をループするforeach()ループを見て、あなたが望むように扱うことができます。 – DarkMantis

+1

これらのSQLインジェクションホールを修正してください。http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Johan

答えて