c.klouchi Posté 15 Janvier 2006 Posté 15 Janvier 2006 Bonjour dans un champs, j'ai des donnés insérées comme ceci 05, 10, 12, 15, 19, 23, 27, 28, 29 J'aurais besoin pour chaque id de récupérer ces données à la suite des autres pour arriver à faire quelque chose comme cela : image05.jpg image10.jp image12.jpg Avez vous une solution ? Merci chris
Dan Posté 15 Janvier 2006 Posté 15 Janvier 2006 $picts=explode(", ",$contenu_du_champs);foreach ($picts as $pict) { print "image".$pict.".jpg<br>";} Dan
c.klouchi Posté 15 Janvier 2006 Auteur Posté 15 Janvier 2006 Merci bien même si j'ai guère avancé Faut il lire xplode ou explode car sur php.net je vois explode mais peut-être est ce différent ? Dans les 2 cas j'obtiens : Warning: Invalid argument supplied for foreach() Enfin je persévère et me documente
Antoine Cailliau Posté 15 Janvier 2006 Posté 15 Janvier 2006 Montre nous ton code complet. Si tu n'as pas un tableau pour la variable sur laquelle tu boulce (ou tout du moins une structure munie d'un itérateur) c'est normal comme erreur. Peux-tu nous montrer ton code ?
Dan Posté 15 Janvier 2006 Posté 15 Janvier 2006 C'était explode bien sûr. Désolé pour la typo Il faut que la variable $contenu_du_champ contienne effectivement le champ avec tes valeurs "05, 10, 12, 15, 19, 23, 27, 28, 29". Si tu lances: <?php$picts=explode(", ","05, 10, 12, 15, 19, 23, 27, 28, 29");foreach ($picts as $pict) { print "image".$pict.".jpg<br>";}?> Cela te donne bien la liste des images... Dan
c.klouchi Posté 15 Janvier 2006 Auteur Posté 15 Janvier 2006 Merci Dan de ta rapidité, comme d'hab je m'exprime toujours mal en programmation mais comme à chaque fois on me met sur la voie, j'apprend un peu chaque jour ! J'ai donc fait ceci et ça fonctionne parfaitement donc merci des conseils. // echo ''.$data['thumbs_promo'].'<br />';$vignette = $data['thumbs_promo'];$pieces = explode(", ", $vignette);echo $pieces[1]; echo $pieces[2]; echo $pieces[3]; echo $pieces[4]; echo $pieces[5]; echo $pieces[5]; echo $pieces[7]; echo $pieces[8];
Dan Posté 15 Janvier 2006 Posté 15 Janvier 2006 Comme $pieces est un tableau, tu peux utiliser ce code si tu ne connais pas le nombre d'éléments... foreach ($pieces as $singlepiece) { print $singlepiece."<br>";} Il remplace avantageusement toute ta série de "echo $pieces[]..." Dan
kazhar Posté 15 Janvier 2006 Posté 15 Janvier 2006 il est inutile de placer $data['thumbs_promo'] dans $vignette tu peut faire l'explode directement avec la variable d'origine (ca évite de placer du contenu supplémentaire en ram) $pieces = explode(", ", $data['thumbs_promo']);
Antoine Cailliau Posté 15 Janvier 2006 Posté 15 Janvier 2006 Pour faire vraiment optimisé, on fera alors : foreach (explode(", ", $data['thumbs_promo']) as $singlepiece) { print $singlepiece."<br />";}
c.klouchi Posté 15 Janvier 2006 Auteur Posté 15 Janvier 2006 A mon petit niveau, je vois pas trop ce que ça change car moi je suis déjà trés content lorsque j'arrive à obtenir le résultat escompté, mais comme il y a moins de code, j'ai adopté et ça fonctionne trés bien. Merci à vous.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant