2017-01-27 6 views
0

Ich habe einen kurzen Code erstellt, wo der Zähler verwendet wird, um die Elemente zu zählen, aber der Zähler zählt nur bis "1", warum?PHP-Zähler funktioniert nicht

<?php $counter = "0";?> 
<?php foreach($this->group('inhalt') as $i => $fields): ?> 
    <?php $counter += 1 ;?> 
    <div class="ce_countup autogrid-id_<?php echo $this->id; ?>_<?php echo $counter;?> autogrid-type_cte <?php if($counter ="1"){ echo "autogrid-first";} ?> <?php if($counter =$gridKlasse){ echo "autogrid-last";} ?> <?php echo $gridKlasse;?> autogrid_mode_auto autogrid block"> 
     <h3 id="ce_id_<?php echo $this->id; ?>_<?php echo $counter;?>"><?php echo $this->field('zahl#'.$i)->value(); ?></h3> 
     <?php echo $this->field('bezeichnung#'.$i)->value(); ?> 
    </div> 
<?php endforeach; ?> 

Antwort

3

Ihr Problem ist hier

<?php if($counter ="1"){ echo "autogrid-first";} ?> 

und hier

<?php if($counter = $gridKlasse){ echo "autogrid-last";} ?> 

Sie sind immer wieder die Initialisierung der $counter Variable mit 1 und dann eine Boolesche Auswertung des gesamten Ausdrucks zu tun. Sie sollten entweder == oder === verwenden, um das Problem zu beheben. Außerdem sollte $gridKlasse eine Nummer sein.

Versuchen Sie folgendes:

<?php $counter = 0;?> 
    <?php foreach($this->group('inhalt') as $i => $fields): ?> 
    <?php $counter += 1 ;?> 
    <div class="ce_countup autogrid-id_<?php echo $this->id; ?>_<?php echo $counter;?> autogrid-type_cte <?php if($counter === 1){ echo "autogrid-first";} ?> <?php if($counter === $gridKlasse){ echo "autogrid-last";} ?> <?php echo $gridKlasse;?> autogrid_mode_auto autogrid block"> 
     <h3 id="ce_id_<?php echo $this->id; ?>_<?php echo $counter;?>"><?php echo $this->field('zahl#'.$i)->value(); ?></h3> 
     <?php echo $this->field('bezeichnung#'.$i)->value(); ?> 
    </div> 
<?php endforeach; ?> 
Verwandte Themen