PHP计算来自foreach循环的行

PHP count rows from foreach loop

我正在使用PHP中的"foreach"循环从我的mysql数据创建表

我试图实现的是计算循环返回的行数

循环正在为每个"机器"创建新表,并将"协定"作为新行填充,但每当我尝试对行进行计数时,它都会将所有表中的计数一起返回,而不是只返回一个。

以下是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

foreach ($this->datatitle as $head) {

    $cards = 1;

    echo '<table id="cards" class="cards">';

    echo '<tr>';

    foreach ($this->datacount as $datacount) {

        echo '<td>' . $head->machine_text . ' ' . $head->machine_name . ' [' . $datacount->count . ']</td>';

    }

    echo '</tr>';
    echo '<tr>';
    echo '<td>';
    echo '<ul id="sortable" class="connectedSortable">';

    foreach ($this->data as $body) {

        if ($head->machine_text == $body->machine_text) {

            echo '<li class="ui-state-default">Auftrag: ' . $body->aufnr;
            echo '' . $body->matnr . ' ' . $body->matxt;
            echo 'Menge ' . $body->gamng;
            echo '';
            echo 'Start: ' . $body->gstrp;
            echo 'Ende: ' . $body->ssavd . '
</li>
'
;

            if ($cards++ == 10) {
                break;
            }

        } else {

        }

    }

    echo '</td>';
    echo '</tr>';
    echo '</table>';

}

?>

$cards定义了要显示的行的数量,但我想对不显示的行进行计数。

tl;dr用foreach创建表,希望对单个表中的行进行计数


在foreach循环的上方,定义一个计数器。

计数=0

然后在你的前臂环里:

$count=$count+1

前臂回圈后:

回声计数

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

foreach ($this->datatitle as $head) {

$count = 0;
$cards = 1;

echo '<table id="cards" class="cards">';

echo '<tr>';

foreach ($this->datacount as $datacount) {
    $count = $count + 1;
    echo '<td>' . $head->machine_text . ' ' . $head->machine_name . ' [' . $datacount->count . ']</td>';

}

echo '</tr>';
echo '<tr>';
echo '<td>';
echo '<ul id="sortable" class="connectedSortable">';

foreach ($this->data as $body) {

    if ($head->machine_text == $body->machine_text) {

        echo '<li class="ui-state-default">Auftrag: ' . $body->aufnr;
        echo '' . $body->matnr . ' ' . $body->matxt;
        echo 'Menge ' . $body->gamng;
        echo '';
        echo 'Start: ' . $body->gstrp;
        echo 'Ende: ' . $body->ssavd . '
</li>
'
;

        if ($cards++ == 10) {
            break;
        }

    } else {

    }

}

echo '</td>';
echo '</tr>';
echo '</table>';
echo $count;
}
?>


我想这会有帮助的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$count = 0;

foreach( $names as $name){

$count = $count + 1;

echo "<td>".$count."</td>

     "
<td>".$name."</td>";
}

?>