Votre question

probleme avec la fonction foreach

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
6 Août 2006 14:01:41

donc
Dans une de mes tables qui s'appelle labase j'ai plusieurs champs dont
les champs qui s'appellent "sousmenu" et "menu"
dans ces 2 champs il y a comme enregistrement:
champs "genre" = "natation,tennis,football,danse"
champs "lien"= "1.php,2.php,3.php,4.php"
voici le résultat du script ci-dessous:
danse
danse
danse
danse
Donc comment faire pour afficher le résultat ainsi:
natation
tennis
football
danse
ci-desous le script en php
Merci d'avance


  1. $sql = "SELECT * FROM labase where nom='Jouets'";
  2. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  3. echo '<div id="exemple1"><table>
  4. <tr></div>';
  5. while($data = mysql_fetch_array($req))
  6. {
  7.  
  8. $mes1 = explode(',',$data['genre']);
  9. foreach($mes1 as $element)
  10. $mes2 = explode(',',$data['lien']);
  11. foreach($mes2 as $element1)
  12. echo '<div id="exemple1">
  13. <span style="font-size:12pt;"><a href="'.$element1.'">'.$element.'</a></span>
  14. </div>';}

Autres pages sur : probleme fonction foreach

6 Août 2006 14:10:02

Pas besoin de l'usine a gaz si tu a dans une table 2 champ avec pour chaque enregistrement son nom et son url :

genre lien
natation 1.php
tennis 2.php

etc

il te suffit dans ta boucle :
echo '<a href="'.$data['lien'].'">'.$data['genre'].'</a>';

si c'est pas ca le probleme explique mieux, et dis bonjour en passant.

6 Août 2006 14:28:59

si je ne me trompe pas, foreach n'est implémenté qu'avec php4 verifie si ton hebergeur n'est pas en php3 comme free par exemple
Contenus similaires
6 Août 2006 15:21:25

Bonjour(excuse-moi)
Donc
Dans une de mes tables qui s'appelle labase j'ai plusieurs champs dont
les champs qui s'appellent "sousmenu" et "menu"
dans ces 2 champs il y a comme enregistrement:
champs "genre" = "natation,tennis,football,danse"
champs "lien"= "1.php,2.php,3.php,4.php"
Ce que je voudrais comme resultat c'est:
natation tennis
football danse
que natation est comme lien 1.php
que tennis est comme lien 2.php
que football est comme lien 3.php
que danse est comme lien 4.php
merci d'avance
6 Août 2006 15:27:29

Rebonjour,
Si je mets qu'un foreach(celui qui affiche natation,danse....)
cela marche
Mais des que je mets l'autre pour les liens,alors cela
m'affiche que le dernier de la liste c'est à dire ici"danse".cela me l'affiche 4 fois mets avec des liens differents
danse
danse avec 2.php comme lien
danse avec 3.php comme lien
danse avec 4.php comme lien
alors que je veux comme résultat:
natation avec 1.php comme lien
tennis avec 2.php comme lien
football avec 3.php comme lien
danse avec 4.php comme lien
Merci d'avance pour votre aide
a c 232 L Programmation
6 Août 2006 22:25:35

Salut,

Quelque chose dans ce genre :

  1. $sql = "SELECT * FROM labase where nom='Jouets'";
  2. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  3. echo '<div id="exemple1"><table>
  4. <tr></div>';
  5. while($data = mysql_fetch_array($req))
  6. {
  7.  
  8. $mes1 = explode(',',$data['genre']);
  9. $mes2 = explode(',',$data['lien']);
  10.  
  11. for ($i=0; $i<count($mes1); $i++) {
  12. echo '<div id="exemple1">
  13. <span style="font-size:12pt;"><a href="'.$mes1[$i].'">'.$mes2[$i].'</a></span>
  14. </div>';
  15. }}


Non ? (j'ai pas testé...)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS