Boucle pour afficher des liens

Fermé
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011 - Modifié par goldfinch le 23/09/2011 à 16:46
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011 - 23 sept. 2011 à 19:09
Bonjour,
j'aimerai faire une boucle qui parcoure un tableau est affiche les liens d'apres le nombre entré dans l'input; exemple si l'utilisateur choisit le nombre 2 les liens s'affiche 2 par 2 s'il choisi le nombre 3 donc 3 et puis en dessou les 3 autres
j'ai commencé a le faire mais la je bugg un peu :

<form action="teste.php" method="post">
<input type="text" name="lien" />
<select name="ok">
<option>2</option>
<option>3</option>
<input type="submit" name="OK" />
</select>

</form>

<br />
<?php


$partenaires = array('MMC-DIGITAL'=>'www.mmc-digital.com','Emploitic'=>'www.emplotic.com','Google'=>'www.google.com','facbook'=>'www.facebook.com', 'site du zero'=> 'www.siteduzero.com', 'Gmail'=>'www.gmail.com');
if (isset($_POST['lien'])
{
foreach ($partenaires as $name=>$link){
for ( $i = 1; $i <= 6; $i++ ){
echo '<a href="[http:// http://'.]$link.'" target="_blanc"> '.$name.' </a><br />';

}
}
}



Plus on découvre plus on aperçoit qu'on est bête !

2 réponses

Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
Modifié par Mihawk le 23/09/2011 à 16:31
Hello,
Bon tu n'as pas dis "merci" mais je réponds quand même. Try that :

if (isset($_POST['lien'])){    
   foreach ($partenaires as $name=>$link){    
      for ( $i = 1; $i <= 6; $i++ ){    
         echo '<a href="http://'.$link.'" target="_blanc"> '.$name.' </a><br />';    
         if ($i%$_POST['lien']==0) echo("<br/>");    
      }    
   }    
}



[Edit] : parenthèse rajoutée
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
0
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011
23 sept. 2011 à 16:17
vrai que je lé oublié mais je vais me rattraper en te disant merci beaucoup :)

j'ai juste une erreur sur la ligne 26 qui est if (isset($_POST['lien']){
lle msg d'erreur c'est : ( ! ) Parse error: syntax error, unexpected '{' in C:\wamp\www\poo\teste.php on line 26
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
23 sept. 2011 à 16:18
Il te manque une parenthèse à la fin de cette ligne (une pour le if et une pour le post)
:-)
0
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011
23 sept. 2011 à 16:22
oupsss :p tinx ;)

sauf que quand je choisi n'importe quel nombre ca s'affiche une ligne apres l'autre avec un msg d'erreur dans chaque ligne qui est Warning: Division by zero in C:\wamp\www\poo\teste.php on line 29
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
23 sept. 2011 à 16:24
C'est surement ton $_POST['lien'] qui est null ou vaut 0.
Dans ton if rajoute la condition :

if (isset($_POST['lien']) && intval($_POST['lien'])>0){
0
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011
23 sept. 2011 à 16:27
ca donne pas de résultat :s
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
Modifié par Mihawk le 23/09/2011 à 16:54
[Edit] : en fait ça marche pas !
Tu as fais une boucle dans une boucle j'avais pas vu !
Essaye ça alors :

if (isset($_POST['lien'])){ 
   $i = 1;   
   foreach ($partenaires as $name=>$link){
      echo '<a href="http://'.$link.'" target="_blanc"> '.$name.' </a><br />';    
      if ($i%$_POST['lien']==0) echo("<br/>");   
      $i++;      
   }    
}


Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
0
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011
23 sept. 2011 à 17:00
ca marche tjrs pas , y'a les liens un sous l'autre avec un msg d'erreur devant chaque lien :

Notice: Undefined index: lien in C:\wamp\www\poo\teste.php on line 29
Warning: Division by zero in C:\wamp\www\poo\teste.php on line 29

ps : désolé si je me suis mal exprimé au debut :)
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
23 sept. 2011 à 17:02
Rha ça fait n'importe quoi !!!!

if (isset($_POST['lien']) && $_POST['lien']>0){ 
   $i = 1;   
   foreach ($partenaires as $name=>$link){
      echo '<a href="http://'.$link.'" target="_blanc"> '.$name.' </a><br />';    
      if ($i%$_POST['lien']==0) echo("<br/>");   
      $i++;      
   }    
}
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
23 sept. 2011 à 17:02
Il a pas l'air de trouver ton $_POST t 'es sûr qu'il existe ?!
0
goldfinch Messages postés 103 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 novembre 2011
23 sept. 2011 à 17:10
oui oui il existe j'ai changé le post lien par poste poste ok : voila tout le code :

<form action="teste.php" method="post">
<select name="ok">
<option>2</option>
<option>3</option>
<input type="submit" name="OK"/>
</select>

</form>

<br /><?php


$partenaires = array('MMC-DIGITAL'=>'www.mmc-digital.com','Emploitic'=>'www.emplotic.com','Google'=>'www.google.com','facbook'=>'www.facebook.com', 'site du zero'=> 'www.siteduzero.com', 'Gmail'=>'www.gmail.com');
if (isset($_POST['ok']) && intval($_POST['ok'])>0){

$ok=$_POST['ok']

foreach ($partenaires as $name=>$link){
for ( $i = 1; $i <= 6; $i++ ){
if($ok==2)

echo '<a href="http://'.$link.'" target="_blanc"> '.$name.' </a><br />';
if ($i%$_POST['ok']==0) echo("<br/>");
}
}
}
?>
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
23 sept. 2011 à 17:12
Ola y a plein de trucs que t'as pas changé, regarde mieux ! J'ai supprimé le FOR avec $i notamment
0