我有以下php代码:
$k=1;
for($i=0; $i < 5; $i++)
{
$stmt = $db->query('SELECT * FROM services_main');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
if ($row['ID'] == $i) {
for($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k++.'<br />';
}
}
}
}
此代码生成:
John - k=1
John - k=2
John - k=3
Paul - k=4
Paul - k=5
Paul - k=6
George - k=7
George - k=8
George - k=9
我想要做的就是产生这个:
John - k=1
John - k=1
John - k=1
Paul - k=2
Paul - k=2
Paul - k=2
George - k=3
George - k=3
George - k=3
我无法弄清楚如何为每个分组增加k增量,而不是每行增加。
提前感谢您的帮助!
答案 0 :(得分:0)
将k++
置于while
循环之外。
$k=1;
for($i=0; $i < 5; $i++)
{
$stmt = $db->query('SELECT * FROM services_main');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
if ($row['ID'] == $i) {
for($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k.'<br />';
}
}
}
$k++;
}
答案 1 :(得分:0)
每次进行内部“for”循环时,不要增加$ k,而是每次迭代“while”循环时增加一次:
for($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k.'<br />';
}
$k++;
答案 2 :(得分:0)
替换它:
for($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k++.'<br />';
}
有了这个
for($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k.'<br />';
}
$k++;