Php MYSQL复制数组值
我只希望每个队彼此比赛一次。你的问题在于你最后的Php MYSQL复制数组值,php,html,mysql,Php,Html,Mysql,我只希望每个队彼此比赛一次。你的问题在于你最后的foreach$matchup是一个类似 Array ( [home] => All-Stars [away] => Vets ) 你在迭代它的值,所以你要为每个匹配做两次插入。实际上,您不需要使用foreach的foreach,只需使用 foreach ($contests as $week => $matchup) { $home = $matchup['home']; $away = $ma
foreach
$matchup
是一个类似
Array
(
[home] => All-Stars
[away] => Vets
)
你在迭代它的值,所以你要为每个匹配做两次插入。实际上,您不需要使用foreach的foreach
,只需使用
foreach ($contests as $week => $matchup) {
$home = $matchup['home'];
$away = $matchup['away'];
$sql = mysqli_query($link, "INSERT INTO tourn_fixtures(teamone, teamtwo) values ('$home', '$away')");
}
请注意,您还需要在之外的周围加引号,作为$matchup
的索引
下面是您的代码演示,演示了为每个$matchup
生成两个INSERT
查询的过程:我认为最后一个foreach()
可能是问题的原因。你好,尼克,感谢您的回复,在更好的轨道上当INSERT语句运行时,它会创建表,但我只希望每个队彼此玩一次<代码>阵列([主场]=>全明星[客场]=>闪电)
它还创建了阵列([主场]=>闪电[客场]=>全明星)
我如何才能阻止这种情况发生?@LouieHeaton这是一个更棘手的问题,因为你需要确保每支球队在主场和客场比赛的次数相同。这可能值得再问一个问题…@LouieHeaton如果你再问另一个问题,我建议简化它,只显示$matches
数组(代码中注释的print\r($matches)
)的输出),并说你想改变它,以便每个团队只玩一次,主客场比赛数量相等。@LouieHeaton我在你的用户帐户下看不到你的新问题。如果你还没有解决方案,你能用链接发表评论吗?
Array
(
[home] => All-Stars
[away] => Vets
)
foreach ($contests as $week => $matchup) {
$home = $matchup['home'];
$away = $matchup['away'];
$sql = mysqli_query($link, "INSERT INTO tourn_fixtures(teamone, teamtwo) values ('$home', '$away')");
}