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; } ?> |