请指出我在正确的方向我试图做以下事情:
这是我的表格
$i=0;//counter
while($row=mysql_fetch_array($result)){
$team1 = $row['team1'];
$team2 = $row['team2'];
$id[$i]= $row['event_id'];
echo'<h3>'.$team1.' VS '.$team2.'</h3>';
echo'<select name="'.$id[$i].'">';
echo'<option value="'.$row['team1'].'">'.$team1.'</option>';
echo'<option value="'.$row['team2'].'">'.$team2.'</option>';
echo'</select>';
$i++;
}//while
这是我的for循环给出错误,我怀疑问题在于
$_POST['$id']
...
if(isset($_POST['submit'])){
foreach($_POST[$id] as $eventId => $winner){
echo'<h3>'.$eventId.'</h3>';
}//for loop
}//end isset
非常感谢任何帮助
答案 0 :(得分:2)
$ id在此处定义为数组$id[$i]= $row['event_id'];
。数组不能用作foreach数组中的键或其他。
这就是导致你在这一行出错的原因
foreach($_POST[$id] as $eventId => $winner){ //$id is an array of values
echo'<h3>'.$eventId.'</h3>';
}//for loop
您必须为$ id创建第二个foreach语句,然后在当前的foreach语句中使用id值。
foreach( $id as $key => $val ) {
foreach( $_POST[$val] as $eventId => $winner){
答案 1 :(得分:0)
您不知道操作页面上的event_id值是什么,因此我认为您将不得不再次查询这些值:
if(isset($_POST['submit'])){
/* do your query here */
$data = array();
while($row=mysql_fetch_array($result)){
$data[] = $_POST[$row['event_id']];
}
foreach($data as $key => $value){
print_r($_POST[$value]);
echo "<br>";
}
}