probleme avec foreach

probleme avec foreach - PHP - Programmation

Marsh Posté le 06-08-2006 à 16:22:39    

Bonjour,
Dans une de mes tables qui s'appelle labase j'ai plusieurs champs dont
les champs qui s'appellent "genre" et "lien"
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 avec 1.php comme lien
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
 
ci-desous le script en php:

Code :
  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. $mes1 = explode(',',$data['genre']);
  8. foreach($mes1 as $element)
  9. $mes2 = explode(',',$data['lien']);
  10. foreach($mes2 as $element1)
  11. echo '<div id="exemple1">
  12. <span style="font-size:12pt;"><a href="'.$element1.'">'.$element.'</a></span>
  13. </div>';}


Merci d'avance

Reply

Marsh Posté le 06-08-2006 à 16:22:39   

Reply

Marsh Posté le 06-08-2006 à 16:54:19    

utilise des accolades avec foreach plutôt que la syntaxe sur une ligne et tu verras vite ton problème ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-08-2006 à 16:58:23    

c est normal $element n est pas dans ta boucle
essaie ca
 

Code :
  1. while($data = mysql_fetch_array($req))
  2. {
  3. $mes['lien'] = explode(',',$data['lien']);
  4. $mes['genre'] = explode(',',$data['genre']);
  5. for ($i=0;$i<count($mes['lien']);$i++)
  6. echo '<div class="exemple1"><span style="font-size:12pt;"><a href="'.$mes['lien'][$i].'">'.$mes['genre'][$i].'</a></span></div>'; // je remplace id par class parce qu id est unique
  7. }

Reply

Marsh Posté le 06-08-2006 à 17:16:03    

mIRROR a écrit :

c est normal $element n est pas dans ta boucle
essaie ca
 

Code :
  1. while($data = mysql_fetch_array($req))
  2. {
  3. $mes['lien'] = explode(',',$data['lien']);
  4. $mes['genre'] = explode(',',$data['genre']);
  5. for ($i=0;$i<count($mes['lien']);$i++)
  6. echo '<div class="exemple1"><span style="font-size:12pt;"><a href="'.$mes['lien'][$i].'">'.$mes['genre'][$i].'</a></span></div>'; // je remplace id par class parce qu id est unique
  7. }



Merci beaucoup.Une dernière question comment afficher sur deux colonnes le résultat?

Reply

Marsh Posté le 06-08-2006 à 17:19:01    

deux colonnes de quoi ?

Reply

Marsh Posté le 06-08-2006 à 17:23:07    

mIRROR a écrit :

deux colonnes de quoi ?


le résultat donne:
natation    
tennis        
football      
danse    
et je voudrais comme résultat:
 
natation     tennis        
football      danse    
Merci pour ton aide

Reply

Marsh Posté le 06-08-2006 à 17:27:46    

Reply

Marsh Posté le 06-08-2006 à 17:30:03    

Reply

Marsh Posté le 06-08-2006 à 17:45:37    

http://membres.lycos.fr/metaltrade//BAHLOL.png

Reply

Marsh Posté le 06-08-2006 à 18:55:34    

voilà ce qui arrive quand on donne le truc tout cuit :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-08-2006 à 18:55:34   

Reply

Marsh Posté le 06-08-2006 à 19:28:20    

Sh@rdar a écrit :

voilà ce qui arrive quand on donne le truc tout cuit :o


 
j ai vu trop tard que ta reponse etait beaucoup plus maline  [:barthaliastoxik]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed