afficher un tableau de liens issus d'un array

afficher un tableau de liens issus d'un array - PHP - Programmation

Marsh Posté le 27-05-2007 à 00:05:05    

Bonsoir,

 

j'ai essayé plein de magouilles déguelasses comme le permet si bien PHP mais même avec ça j'ai pas abouti à ce que je souhaiterai faire.

 

j'ai le array suivant:

Code :
  1. $monarray = array ('http://lien1.com/lapage.html' => 'lien1',
  2.    'http://lien2.com/lapage.html' => 'lien2',
  3.    'http://lien3.com/lapage.html' => 'lien3',
  4.    'http://lien4.com/lapage.html' => 'lien4',
  5.    'http://lien5.com/lapage.html' => 'lien5');
 

que j'affiche simplement avec:

Code :
  1. foreach ($monarray as $cle => $val) {
  2. echo '
  3. <a href="?blabla='.$cle.'" >'.$val.'</a><br />';
  4. }
 

comme vous pouvez le constater je fais un <br /> à chaque boucle. mon array est en fait assez grand donc il faut scroller la page à chaque fois. :/

 

j'aimerai me débrouiller pour faire un tableau avec une seul ligne (1 <tr> ) et 4 colonnes (4 <td> ) avec 6 liens dans chacunes des <td>.

 

Avec la boucle c'est pas évident à implémenter.

 

Comment puis-je procéder.
merci


Message édité par pimsa le 27-05-2007 à 00:11:54
Reply

Marsh Posté le 27-05-2007 à 00:05:05   

Reply

Marsh Posté le 27-05-2007 à 00:21:28    

Bon c'est juste une proposition, je sais pas si c'est le très propre, mais tu peux faire avec une variable $i peut être, tu rajoute un $i++; à la fin de ta boucle et tu met des if qui contrôlent si le $i actuel est divisible par 4 (nombre de liens par ligne) pour afficher ou non les balises tr.

Reply

Marsh Posté le 27-05-2007 à 01:06:41    

c'est un tableau associatif, donc ça risque d'être encore plus compliqué avec ta méthode.
 
je pensais faire un truc du genre:

Code :
  1. $monarray = array (
  2. 'td_ici1' => 'td_ici',
  3.                       'http://lien1.com/lapage.html' => 'lien1',
  4.                       'http://lien2.com/lapage.html' => 'lien2',
  5. '/td_ici1' => '/td_ici',
  6. 'td_ici2' => 'td_ici',
  7.                       'http://lien3.com/lapage.html' => 'lien3',
  8.                       'http://lien4.com/lapage.html' => 'lien4',
  9. '/td_ici2' => '/td_ici',
  10. 'td_ici3' => 'td_ici',
  11.                       'http://lien5.com/lapage.html' => 'lien5',
  12. '/td_ici3' => '/td_ici');


et faire un if à chaque boucle pour vérifier si il faut mettre un <td> ou  </td> ou rien selon la valeur de la clé en cours de lecture par la boucle. [:pimsa]  
 
pataper.  :D

Message cité 1 fois
Message édité par pimsa le 27-05-2007 à 01:20:16
Reply

Marsh Posté le 28-05-2007 à 15:25:14    

pimsa a écrit :

c'est un tableau associatif, donc ça risque d'être encore plus compliqué avec ta méthode.


 
Ca sera toujours plus propre que ta méthode pourrie  :o  
 
Une implémentation rapide (pas forcement optimale) :

Code :
  1. $nb_liens = 6;
  2. $nb_cols = 4;
  3. echo "<tr>\n";
  4. $i = 0;
  5. reset($monarray);
  6. for ( $i = 0; $i < $nb_cols; $i++ ) {
  7. echo "<td>\n";
  8. for ( $n = 0; $n < $nb_liens; $n ++ ) {
  9.  list($url, $title) = each($monarray);
  10.  if ( isset($url) && isset($title) )
  11.   echo '<a href="?blabla='.$url.'" >'.$title."</a><br />\n";
  12. }
  13. echo "</td>\n";
  14. }
  15. echo "</tr>\n";



---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 28-05-2007 à 15:36:20    

joli, je prends.  [:pimsa]  
 
merci  :jap:

Reply

Sujets relatifs:

Leave a Replay

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