我有一段PHP代码,我需要$ _POST索引每次通过"do while"
循环时增加1。换句话说,第一次出现是$_POST['tableserver1']
,然后下一次出现$_POST['tableserver2']
,等等。这循环6次然后停止。
我尝试使用变量作为索引,尝试让它们递增。我在php手册http://php.net/manual/en/language.operators.increment.php中找到了一个示例,它增加了字符串末尾的数字,但我没有任何运气让它在$_POST
索引内工作。
此部分代码创建一组包含数据库名称的6个选择列表。我试图让选择列表从$_POST
值填充,如果它已设置,否则它为零。
这是我的代码:
<?php
$x = 1;
do {
?>
<blockquote>
<p><?php echo $x . "."; ?>
<select name="tableserver<?php echo $x; ?>" id="tableserver<?php echo $x; ?>">
<option selected value="0" <?php
if (!(strcmp(0, '$tableserver.$x'))) {
echo "selected=\"selected\"";
}
?>>Select Server</option>
<?php
do {
if (strpos($row_getnamesRS['service'], '22') !== false) {
?>
<option value="<?php echo $row_getnamesRS['memberID'] ?>" <?php
if (!(strcmp($row_getnamesRS['memberID'], '$tableserver.$x'))) {
echo "selected=\"selected\"";
}
?>><?php
echo ucfirst(strtolower($row_getnamesRS['first_name']))
. " " . ucfirst(strtolower($row_getnamesRS['last_name']))
?></option>
<?php
}
} while ($row_getnamesRS = mysqli_fetch_assoc($getnamesRS));
$rows = mysqli_num_rows($getnamesRS);
if ($rows > 0) {
mysqli_data_seek($getnamesRS, 0);
$row_getnamesRS = mysqli_fetch_assoc($getnamesRS);
}
?>
</select>
</p>
</blockquote>
<?php
$x++;
} while ($x <= 6);
?>
答案 0 :(得分:1)
也许是这样的? ...
$arr = [];
for ($i = 1; $i <= 6; $i++)
array_push($arr, $_POST["tableserver" . $i]);
$arr; // Contains 6 values (starting from $_POST["tableserver1"] to $_POST["tableserver6"])
答案 1 :(得分:1)
$i=0;
do{
echo $_POST['someval'.$i];
}while(++$i < 6)
答案 2 :(得分:0)
发布数组会更容易
所以而不是
name="tableserver<?php echo $x; ?>"
使用
name="tableserver[]";
你可以做到
foreach($_POST['tableserver'] as $tableServer){....}