0

for each ループ内の半分の行を今表示し、残りを後で表示するにはどうすればよいですか? for each ループは 6 行を印刷するので、最初の 3 行を印刷し、後で 4 ~ 6 行を印刷します。

while ループを使用してみましたが、機能しませんでした。内部に配置して、同じ行を 3 つ複製してみました。

$i = 1;
while($i <= 3) {
foreach ($items as $res) {
    $image = $res['image_name'];
    $id = $res['id'];
    //echo '<img src="/e-com/images/'.$image.'" />'; ?>

<tr>
    <td><?php echo $res['id']; ?></td>
    <td><?php echo $res['item_name']; ?> </td>
    <td><?php echo "£ ".$res['price']; ?> </td>
    <td><?php echo $res['category']; ?> </td>
    <td><?php echo $res['date_added']; ?> </td>
    <td><?php echo "<a href='http://localhost/e-com/index.php/product/to_edit/$id'   >Edit</a>";     ?></td>
    <td><?php echo "<a href='' onclick='dltCnfrm(\"$id\"); return false'>Delete</a>"; ?></td>
</tr>

    <?php $i++;
    } }
    ?>
4

2 に答える 2

0

オプションとしてチェックアウトarray_slice()http://php.net/manual/en/function.array-slice.php )。の最初の3つの要素を$items独自の配列に引き出し、それらを単独で処理してから、別の時点で最後の3つの要素を引き出して処理することができます。

于 2013-02-21T17:00:15.190 に答える
0

これはどう?

$first = array();
$second = array();
foreach ($items as $i => $res) {
    $image = $res['image_name'];
    $id = $res['id'];
    $html = "
<tr>
    <td>".$res['id']."</td>
    <td>".$res['item_name']."</td>
    <td>£ ".$res['price']."</td>
    <td>".$res['category']."</td>
    <td>".$res['date_added']."</td>
    <td><a href='http://localhost/e-com/index.php/product/to_edit/".$id."'   >Edit</a></td>
    <td><a href='' onclick='dltCnfrm(".$id."); return false'>Delete</a></td>
</tr>";
    if($i < 3) {
      $first[] = $html;
    } else {
      $second[] = $html;
   }
 }

echo implode("", $first); 

///few lines below

echo implode("", $second);
于 2013-02-21T17:01:58.643 に答える