当td在foreach循环中时如何解析单个td

时间:2015-04-21 16:27:52

标签: php foreach

我正在使用此脚本创建包含文章的订单。

<form>
    <table>
        <?php
        include ('artikel_lijst.php');
        foreach($artikels as $artikel => $art){
        ?>
            <tr>    
            <td>
            <?php echo $artikel."\n";?>
            </td>
            <td>
            <?php echo '&euro; '.number_format($art, 2)."\n";?>
            </td>
            <td>
            <input type="text" name="txtinput[]" size="3" />
            </td>
            </tr>
        <?php
        }
        ?>
    </table>
    <input type="submit" value="Output" />
</form>
<?php
//post and calculate
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $totaal = 0;
    foreach($_POST['txtinput'] as $postartikel => $val){
        if(!empty($_POST['txtinput'][$postartikel])){
            echo array_keys($artikels)[$postartikel].':&nbsp; Aantal: '.$val. "&nbsp;&nbsp;Subtotaal: &euro;: " .number_format($artikels[array_keys($artikels)[$postartikel]] * $val, 2). "<br>\n";
        }
        $totaal += $artikels[array_keys($artikels)[$postartikel]] * $val;
    }
    echo 'Totaal: '.number_format($totaal, 2);
}

artikel_lijst.php

$artikels = array(
'cola' => 1.2,
'fanta' => 1.3,
'mineral water' => 1.5,
    'hamburger' => 2.5,
    'cheeseburger' => 2.5,
    'milkshake' => 2.5,

 );

如您所见,表行和表数据由foreach创建。 我的问题:我怎么能,在5篇文章之后,在列表2

中排成一行
<tr><td>List 2</td></tr>
// parse again 5 rows
<tr><td>List 3</td></tr>
// now parse 8 rows
<tr><td>List 4</td></tr>

所以我想手动在表格中的某些地方放置一个额外的行,这是下面的新文章列表的标题

1 个答案:

答案 0 :(得分:0)

在循环中

,只需使用“modulo”:

$i = 0;
foreach($_POST['txtinput'] as $postartikel => $val) {
  if($i % 5 == 0) {
    // Something that will be executed only 1 in 5 times
  }

  ...
  $i++;
}