IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Boucle dans tableau


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut Boucle dans tableau
    Bonjour,

    J'espère être au bon endroit.

    Le code ci-dessous fonctionne, mais il ne prend pas en compte le premier élément du tableau !?
    Le mélange se fait bien, il crée bien les cinq div "image", mais pour la numéro 1, ni image, ni alt, ni légende... je ne comprends pas pourquoi ?

    Les images sont donc dans images/galerie/ et se nomment 1.jpg, 2.jpg, 3.jpg, 4.jpg et 5.jpg.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <div id="galerie">
    	<?php
    	$numbers = range(1, 5);
    	shuffle($numbers);
    	foreach($numbers as $number) {
    		$groupe1 = array();
    		$groupe1 ['num']= 1;
    		$groupe1 ['titre']='Titre 1';
    		$groupe1 ['legende'] = 'Légende 1';
     
    		$groupe2 = array();
    		$groupe2 ['num']= 2;
    		$groupe2 ['titre']='Titre 2';
    		$groupe2 ['legende'] = 'Légende 2';
     
    		$groupe3 = array();
    		$groupe3 ['num']= 3;
    		$groupe3 ['titre']='Titre 3';
    		$groupe3 ['legende'] = 'Légende 3';
     
    		$groupe4 = array();
    		$groupe4 ['num']= 4;
    		$groupe4 ['titre']='Titre 4';
    		$groupe4 ['legende'] = 'Légende 4';
     
    		$groupe5 = array();
    		$groupe5 ['num']= 5;
    		$groupe5 ['titre']='Titre 5';
    		$groupe5 ['legende'] = 'Légende 5';
     
    		$tablo_groupes = array($groupe1, $groupe2, $groupe3, $groupe4, $groupe5);
     
    		$groupes = $tablo_groupes[$number];
    	?>
    	<div class="image">
    		<img src="images/galerie/<?php echo $groupes['num'] ?>.jpg" alt="<?php echo $groupes['titre']; ?>" />
    		<span><?php echo $groupes['legende']; ?></span>
    	</div>
    	<?php } ?>
    </div>
    Pourriez-vous m'aider, merci.

    Cordialement.
    Cdt, Antonio.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Pff c'est bon j'ai trouvé la faille

    Pour ceux que ça intéresse...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <div id="galerie">
    	<?php
    	$numbers = range(1, 5);
    	shuffle($numbers);
    	foreach($numbers as $number) {
    		$groupe1 = array();
    		$groupe1 ['num']= 1;
    		$groupe1 ['titre']='Titre 1';
    		$groupe1 ['legende'] = 'Légende 1';
     
    		$groupe2 = array();
    		$groupe2 ['num']= 2;
    		$groupe2 ['titre']='Titre 2';
    		$groupe2 ['legende'] = 'Légende 2';
     
    		$groupe3 = array();
    		$groupe3 ['num']= 3;
    		$groupe3 ['titre']='Titre 3';
    		$groupe3 ['legende'] = 'Légende 3';
     
    		$groupe4 = array();
    		$groupe4 ['num']= 4;
    		$groupe4 ['titre']='Titre 4';
    		$groupe4 ['legende'] = 'Légende 4';
     
    		$groupe5 = array();
    		$groupe5 ['num']= 5;
    		$groupe5 ['titre']='Titre 5';
    		$groupe5 ['legende'] = 'Légende 5';
     
    		$tablo_groupes = array($groupe1, $groupe2, $groupe3, $groupe4, $groupe5);
     
    		$groupes = $tablo_groupes[$number-1]; // ICI -> $number-1 !
    	?>
    	<div class="image">
    		<img src="images/galerie/<?php echo $groupes['num'] ?>.jpg" alt="<?php echo $groupes['titre']; ?>" />
    		<span><?php echo $groupes['legende']; ?></span>
    	</div>
    	<?php } ?>
    </div>
    Cdt, Antonio.

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    euh, tu veux faire quoi exactement avec ton code ?
    Ce code produit le même résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
     
    $groupes = [
        1 => ['num' => 1, 'titre' => 'Titre 1', 'legende' => 'Legende 1'],
        2 => ['num' => 2, 'titre' => 'Titre 2', 'legende' => 'Legende 2'],
        3 => ['num' => 3, 'titre' => 'Titre 3', 'legende' => 'Legende 3'],
        4 => ['num' => 4, 'titre' => 'Titre 4', 'legende' => 'Legende 4'],
        5 => ['num' => 5, 'titre' => 'Titre 5', 'legende' => 'Legende 5']
    ];
     
    $numbers = range(1, 5);
    shuffle($numbers);
     
    foreach ($numbers as $i) {
    ?>
    <div class="image">
        <img src="images/galerie/<?= $groupes[$i]['num'] ?>.jpg" alt="<?= $groupes[$i]['titre']; ?>" />
        <span><?= $groupes[$i]['legende']; ?></span>
    </div>
    <?php } ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Double boucle dans un tableau
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/08/2009, 17h56
  2. Boucle while dans tableau
    Par TheRealMike dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/06/2009, 19h50
  3. [Spip] résultat de boucle dans un tableau
    Par oceane751 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 20/08/2008, 10h23
  4. [MySQL] Pagination : faire une boucle dans un tableau ?
    Par benjam89 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/09/2007, 20h10
  5. [Tableaux] Boucle dans un tableau
    Par apprenti-fab dans le forum Langage
    Réponses: 9
    Dernier message: 24/04/2006, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo