[Résolu] boucle for

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] boucle for

Re: [Résolu] boucle for

par xTG » 30 nov. 2010, 18:56

En effet Cyber_php cela fonctionne mieux quand on prend correctement le code que j'ai donné. ^_-

Re: [Résolu] boucle for

par stealth35 » 30 nov. 2010, 14:54

fallait faire array_valuerpour le foreach :wink:

Re: boucle for

par Cypher_PHP » 30 nov. 2010, 12:59

c'est bon
j'ai trouvé
et merci beaucoup
voici le bon code
<div id="movers-row">
    <?php $i = 2; ?>
    <?php $articles = $this->requestAction('/articles/FiveSlider'); ?>
    <?php foreach($articles as $article): ?>
        <div> 
            <?php 
			$mini = $article['Article']['mini'];
			echo $html->link($html->image('/files/images/'.$mini, array('class'=>'nav-thumb')), '#' . $i, array('class'=>'cross-link','escape' => false)); ?>    
        </div>
            <?php $i++; ?>
    <?php endforeach; ?>
</div>

Re: boucle for

par Cypher_PHP » 30 nov. 2010, 12:51

les id sont en int()

Re: boucle for

par stealth35 » 30 nov. 2010, 12:47

stealth35

je veux bien mais le problème est que les nombres liés aux id d'articles ne seront plus compatibles avec le plugin de slider.
de quelle type doivent être les id ?

Re: boucle for

par Cypher_PHP » 30 nov. 2010, 12:28

stealth35

je veux bien mais le problème est que les nombres liés aux id d'articles ne seront plus compatibles avec le plugin de slider.

Re: boucle for

par stealth35 » 30 nov. 2010, 12:22

et pourquoi ne pas utiliser la clé du tableau ?
<div id="movers-row">
    <?php
    $articles = $this->requestAction('/articles/FiveSlider');
    foreach($articles as $key => $article) :
    ?>
    <div>
        <a href="#<?php echo ++$key; ?>" class="cross-link">                   
        <?php echo $html->image('/files/images/'.$article['Article']['mini'], array('class'=>'nav-thumb')); ?>
        </a>
    </div>
    <?php endforeach; ?>
</div>

Re: boucle for

par Cypher_PHP » 30 nov. 2010, 12:09

sur la proposition de xTG, le lien est bloqué au nombre 2.
		<div id="movers-row">
			<?php 
					$articles = $this->requestAction('/articles/FiveSlider');
					foreach($articles as $article) {
			?>
				<?php
				 $i = 2;
				?>
			<div>			<a href="#<?php echo $i;?>"
							
				class="cross-link">			
					<?php 
					$mini= $article['Article']['mini'];
					echo $html->image('/files/images/'.$mini, array('class'=>'nav-thumb'));
					?>
				</a>
				
			</div>
			<?php $i++;	?>
			<?php
			}
			?>
		</div>

Re: boucle for

par moogli » 30 nov. 2010, 11:47

Salut,

fait un echo $i.'<br />'; et regarde ce que cela donne ;)

@+

Re: boucle for

par Ryle » 30 nov. 2010, 11:46

En fait ton résultat est 2, puis 3, puis 4 etc. sauf que si tu ne fais que un echo de $i sans espace, retour à la ligne ou autre, il t'affiche tous les chiffres à la suite et à l'écran tu obtiens 2345 :)

Mais à priori ce que tu veux faire correspond au code qu'à posté xTG :)

Re: boucle for

par Cypher_PHP » 30 nov. 2010, 11:38

corrigé mais le résultat arrive à 2345....
comprend rien
<?php
for( $i = 2; $i < 6; $i++ ) {
echo $i;
}
?>

Re: boucle for

par Ryle » 30 nov. 2010, 11:19

Il te manque les accolades qui permettront de délimiter le bloc d'instructions auquel quoi s'applique ton for :)
for( $i = 2; $i < 6; $i++ ) 
Résultat, le for s'exécute tout seul, $i s'incrémente jusqu'à 6, puis il passe à la suite du code avec la même valeur...
for( $i = 2; $i < 6; $i++ ) {
....
}

Re: boucle for

par Cypher_PHP » 30 nov. 2010, 10:19

Je vais essayer de vous expliquer clairement

mon foreach génère des images à partir de la deuxième image jusqu'à 6.
donc l'image 2 créera un lien N°2, l'image 3 créera un lien N°3, ainsi de suite

Re: boucle for

par xTG » 30 nov. 2010, 09:57

                <div id="movers-row">
                        <?php
                                        $articles = $this->requestAction('/articles/FiveSlider');
                                        $i = 2;
                                        foreach($articles as $article) {
                                        $mini= $article['Article']['mini'];
                        ?>
                        <div><a href="#<?php echo $i;?>" class="cross-link">                   
                                        <?php echo $html->image('/files/images/'.$mini, array('class'=>'nav-thumb'));?>
                                </a>
                        </div>
                        <?php
                        $i++;
                        }
                        ?>
                </div>
Si je comprends bien ce serait plutôt ainsi non ?
Ton foreach ne te ramène qu'une seule image à la fois, donc une simple variable qu'on incrémente (et qu'on fait débuter à 2 ?).

[Résolu] boucle for

par Cypher_PHP » 30 nov. 2010, 09:35

Bonjour

Je suis en train de construire un slider jQuery avec php et BDD.
Donc j'ai fait un slider de petites images avec liens cliquables. j'ai un souci pour les liens.
Sur chaque image, on doit avoir un différent lien numéroté et là, j'aperçois que chaque image a un numéro identique "6".
c'est normal car il s'arrête à la fin de chaque boucle non stoppée donc à 6.
Or, je voudrais qu'à chaque image, la boucle doit s'arrêter à un numéro.
merci de votre aide
		<div id="movers-row">
			<?php 
					$articles = $this->requestAction('/articles/FiveSlider');
					foreach($articles as $article) {
					$mini= $article['Article']['mini'];
			?>
			<?php 
				for( $i = 2; $i < 6; $i++ ) 
			?> 
			<div><a href="#<?php echo $i;?>" class="cross-link">			
					<?php echo $html->image('/files/images/'.$mini, array('class'=>'nav-thumb'));?>
				</a>
			</div>
			<?php
			}
			?>
		</div>