我在设计用于将固定装置插入体育联盟数据库的表单时遇到了一些问题。
上一页包含一个通过 _POST "area"/"division"/"season" 定义的表单,并包含一组灯具字段的迭代(到十个)循环,这些字段被定义为具有数组名称,如“hometeam[$i ]"、"awayteam[$i]" 等等。
在处理灯具输入的页面上,我需要从 $_POST 数组中提取表单的每个单独迭代——即“hometeam[1]”“awayteam[1]”等等——并将其插入到MYSQL 数据库在移动到下一个之前。我对 foreach 和 if 子句完全不知所措,所以我认为最好在这里问。
<?php
$a=1;
while($a<11){
foreach($_POST as $key){
if(is_array($key))
{foreach($key as $value1=>$value2){
if($value1=$a){
if($_POST='hometeam')$home_id=$value2;
else if($_POST='awayteam')$away_id=$value2;
else if($_POST='day')$day=$value2;
else if($_POST='month')$month=$value2;
else if($_POST='year')$year=$value2;
else if($_POST='hour')$hour=$value2;
else if($_POST='mins')$mins=$value2;}
$date = ($year . "-" . $month . "-" . $day);
$time = (($hour) . ":" . ($mins) . ":00");
$enter_query = "INSERT INTO matches (home_id, away_id, date, time, league_id) VALUES ('$home_id', '$away_id', '$date', '$time', '$league_id'";
if($hour != "00"){
$enter_result = mysql_query($enter_query);
}}}
}
$a++;
}
?>
如果有人能指出我在这里公然出错的地方,我将不胜感激。我敢肯定这并不意味着这么难,但我很慌张,看不到我输入的内容,而且我不确定我的知识是否准确。
在数组上运行 print_r 会得到以下结构:
Array ( [area] => 1 [season] => 2 [division] => 1 [hometeam]
=> Array ( [1] => 17 [2] => 2 [3] => 12 [4] => 17 [5] => 17
[6] => 17 [7] => 17 [8] => 17 [9] => 17 [10] => 17 ) [awayteam]
=> Array ( [1] => 6 [2] => 4 [3] => 10 [4] => 17 [5]
其中相同的 10 倍结构继续索引为主队、客队、日、月、年、小时、分钟的数组。