Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要使用特定分组遍历多个语句_Php - Fatal编程技术网

Php 需要使用特定分组遍历多个语句

Php 需要使用特定分组遍历多个语句,php,Php,我有以下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++) {

我有以下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=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

这两个
echo
语句都有
$k++
,这会增加它的值-基本上,每次运行都会增加2到$k

echo $row['name'].' - k='.$k.' - j='.$j.' | ';
echo $row['color'].' - k='.$k.' - j='.$j.'<br />';
$k++;
echo$row['name'].-k='.$k.-j='.$j.|';
echo$row['color'].-k='.$k.-j='.$j.
; $k++;

应该做你想做的事。

对于($j=1;$j问题是,每当你使“$k++”递增$k值,并且在for循环中每轮递增两次,请尝试更改为:

for ($j=1; $j <= 3; $j++)
{
    echo $row['name'].' - k='.$k.' - j='.$j.' | ';
    echo $row['color'].' - k='.$k.' - j='.$j.'<br />';
    $k++;
}
for($j=1; $j <= 3; $j++)
{
    echo $row['name'].' - k='.$k.' - j='.$j.' | ';
    echo $row['color'].' - k='.$k.' - j='.$j.'<br />';
    $k++;
}

for($j=1;$j为什么
ID
不是
WHERE
您的
选择的条件

$k = 1;
for ($i = 0; $i < 5; $i++) {
    $stmt = $db->query('SELECT * FROM services_main WHERE ID = ' . $i);
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        for ($j = 1; $j <= 3; $j++) {
            echo $row['name'].' - k=' . $k . ' - j=' . $j . ' | ';
            echo $row['color'] . ' - k=' . $k++ . ' - j=' . $j . '<br />';
        }
    }
}
$k=1;
对于($i=0;$i<5;$i++){
$stmt=$db->query('SELECT*fromservices\u main,其中ID='。$i);
而($row=$stmt->fetch(PDO::fetch\U ASSOC)){

对于($j=1;$j您的两个问题都是非常基本的PHP问题-在发布关于这些琐碎任务的问题之前,您应该自己做一些研究,或者尝试自己解决问题。我不知道您在这里只能问非常困难的问题。我自己也尝试过解决这个问题,但在这就是我来这里寻求帮助的原因。我从来没有说过你需要问困难的问题。你所有的问题都是“我有这个,我想让它做这个,告诉我怎么做”,而不是“我试图得到这个,我尝试了X、Y和Z,但它们不起作用,我有这个特定的问题”
$k = 1;
for ($i = 0; $i < 5; $i++) {
    $stmt = $db->query('SELECT * FROM services_main WHERE ID = ' . $i);
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        for ($j = 1; $j <= 3; $j++) {
            echo $row['name'].' - k=' . $k . ' - j=' . $j . ' | ';
            echo $row['color'] . ' - k=' . $k++ . ' - j=' . $j . '<br />';
        }
    }
}