7
<?php foreach($products as $product) : ?>

<li><a href="<?php echo base_url(); ?>main/products/<?php echo $product->id; ?>">
<?php echo $product->name; ?> </a></li>

<?php endforeach; ?>

したがって、上記のコードは、のすべてのレコードを取得し、DBリンクを生成します。テーブル内の100レコード-デザインを5列に分割したいと思います。だから私はそれをしますCSSが、私は同封できる必要があります

<ul> on every 20 records</ul>

どうすればcountループしてこれを行うことができますか?

4

5 に答える 5

8

このようにしてください、これはあなたの問題を解決します

 <?php 
 *$i = 0;*
 echo "<ul>";
 foreach($products as $product) : 
 if($i % 20 == 0) echo "</ul><ul>"; 
?>
<li><a href="<?php echo base_url(); ?>main/products/<?php echo $product->id; ?>">
<?php echo $product->name; ?> </a></li>
<?php 
 //if($i % 20 == 0) echo "</ul>";
 $i += 1;
 endforeach; 
 echo "</ul>";
 ?>

* edit- set $ i = 0; 配列は[1]に設定することで[0]からカウントされるため、最初の配列colは20ではなく19になります。[0]に設定すると、各列は20になります。:)ありがとうございます〜fabio

于 2012-09-28T04:17:44.560 に答える
2

これはうまくいくはずです

<?php $products = array('1','2','3','4','5','6','8', 9, 10, 11, 12);?>
<?php $count = 0?>
<?php foreach($products as $product) : ?>
<?php $count = $count + 1; ?>
<?= (($count == 5) ? "<ul>" : '' )?>
<li><a href="<?php echo base_url(); ?>main/products/"></a></li>

<?= (($count == 5) ? "</ul>" : '')?>
<?php (($count == 5) ? $count = 0 : '' )?>
<?php endforeach; ?>
于 2012-09-28T04:11:26.070 に答える
2
 <?php 
     $i = 1;
     echo "<ul>";
     foreach($products as $product) : 
     if($i % 20 == 0) echo "</ul><ul>"; 
    ?>
    <li><a href="<?php echo base_url(); ?>main/products/<?php echo $product->id; ?>">
    <?php echo $product->name; ?> </a></li>
    <?php 
     $i += 1;
      endforeach; echo "</ul>"; ?>
于 2012-09-28T04:12:02.240 に答える
0
<?php    $i=0;
         echo "<ul>";
         foreach($products as $product) :
         if($i%8==0&&$i!=0) echo "</ul><ul>"; ?>

         <li>
          <a href="<?php echo base_url(); ?>main/products/<?php echo $product->id; ?>">
           <?php echo $product->name; ?>
          </a>
         </li>

<?php    $i+=1;
         endforeach;
         echo "</ul>"; ?>
于 2012-12-30T11:14:43.710 に答える
0

phpのarray_sliceメソッドをチェックアウトします。これにより、配列をそれぞれ20個のオブジェクトの小さな配列にスライスできます。

于 2012-09-28T04:11:37.257 に答える