Boucle pour afficher des liens

goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Mihawk Messages postés 4753 Statut Contributeur 846
     
    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
    1. goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    2. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Il te manque une parenthèse à la fin de cette ligne (une pour le if et une pour le post)
      :-)
      0
    3. goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    4. Mihawk Messages postés 4753 Statut Contributeur 846
       
      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
    5. goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
       
      ca donne pas de résultat :s
      0
  2. Mihawk Messages postés 4753 Statut Contributeur 846
     
    [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
    1. goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    2. Mihawk Messages postés 4753 Statut Contributeur 846
       
      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
    3. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Il a pas l'air de trouver ton $_POST t 'es sûr qu'il existe ?!
      0
    4. goldfinch Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    5. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Ola y a plein de trucs que t'as pas changé, regarde mieux ! J'ai supprimé le FOR avec $i notamment
      0