我已经搜索了这个问题的解决方案,我最接近的是this answer,但它没有提供足够的解释。
以下按钮包含锦标赛名称和锦标赛号码。
<input type="submit" name="<?php echo $tournament.$weekNumber ?>" />
比赛可以有所不同,即有不同的名字和圆号。单击按钮并提交表单时,如何获得按钮名称中包含的锦标赛名称和轮次号码?
我试过了
foreach($_POST as $name => $content) {
//echo "The TOURNAMENT NAME IS: $name <br>";
$tournament = $name;
}
问题...... 它给了我圆形数字和锦标赛名称连接 ....
我可以使用substr()
分开比赛和比赛,但由于锦标赛名称和回合数字可能会有所不同,所以不会有效...
我需要比赛名称和周号,它在按钮名name="<?php echo $tournament.$weekNumber ?>"
答案 0 :(得分:2)
当您连接两个变量时,您可以添加一个可用于拆分的唯一字符串。
例如
<input type="submit" name="<?php echo $tournament.'|-|'.$weekNumber ?>" />
在PHP代码中,您可以这样做:
foreach($_POST as $name => $content) {
//echo "The TOURNAMENT NAME IS: $name <br>";
list ($tournament, $weekNumber) = explode('|-|', $name);
}
答案 1 :(得分:2)
试试这个: 用asymbol分隔名称,然后拆分。
<input type="submit" name="<?php echo $tournament.'_'.$weekNumber ?>" />
foreach($_POST as $name => $content) {
//echo "The TOURNAMENT NAME IS: $name <br>";
list($tournament, $round) = explode('_', $name);
}
答案 2 :(得分:1)
为什么不这样做:
<input type="submit" name="tournament[<?php echo $tournament ?>][<?php $weekNumber ?>]" />
然后
if (isset($_POST["tournament"]) {
foreach ($_POST["tournament"] as $tournament => $weeks) {
foreach ($weeks as $round=> $value) {
//Do stuff
}
}
答案 3 :(得分:1)
为什么不使用隐藏值。
<input type="hidden" name="tournament" value="<?php echo $tournament ?>" />
<input type="hidden" name="weekNumber " value="<?php echo $weekNumber ?>" />
<input type="submit" name="<?php echo $tournament.$weekNumber ?>" />
现在你可以获得两个价值。