我有以下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++.' - j='.$j.' | ';
echo $row['color'].' - k='.$k++.' - j='.$j.'<br />';
}
}
}
}
此代码生成:
John - k=1 - j=1 | Blue - k=2 - j=1
John - k=3 - j=2 | Blue - k=4 - j=2
John - k=5 - j=3 | Blue - k=6 - j=3
Paul - k=7 - j=1 | Green - k=8 - j=1
Paul - k=9 - j=2 | Green - k=10 - j=2
Paul - k=11 - j=3 | Green - k=12 - j=3
George - k=13 - j=1 | Red - k=14 - j=1
George - k=15 - j=2 | Red - k=16 - j=2
George - k=17 - j=3 | Red - k=18 - j=3
我希望它能产生这个:
John - k=1 - j=1 | Blue - k=1 - j=1
John - k=2 - j=2 | Blue - k=2 - j=2
John - k=3 - j=3 | Blue - k=3 - j=3
Paul - k=4 - j=1 | Green - k=4 - j=1
Paul - k=5 - j=2 | Green - k=5 - j=2
Paul - k=6 - j=3 | Green - k=6 - j=3
George - k=7 - j=1 | Red - k=8 - j=1
George - k=8 - j=2 | Red - k=8 - j=2
George - k=9 - j=3 | Red - k=9 - j=3
答案 0 :(得分:1)
echo
语句都有$k++
,它会增加它 - 基本上,每次运行时你都会加2到$ k。
echo $row['name'].' - k='.$k.' - j='.$j.' | ';
echo $row['color'].' - k='.$k.' - j='.$j.'<br />';
$k++;
应该做你想做的事。
答案 1 :(得分:1)
for ($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k.' - j='.$j.' | ';
echo $row['color'].' - k='.$k.' - j='.$j.'<br />';
$k++;
}
答案 2 :(得分:1)
为什么ID
不是WHERE
的{{1}}条件?
SELECT
答案 3 :(得分:0)
问题是每当你制作&#34; $ k ++&#34;你增加$ k值,并且你在for循环中每轮增加两次,尝试改为:
for($j=1; $j <= 3; $j++)
{
echo $row['name'].' - k='.$k.' - j='.$j.' | ';
echo $row['color'].' - k='.$k.' - j='.$j.'<br />';
$k++;
}