Récup de valeurs d'un formulaire quand on sait pas le nb de valeurs

Récup de valeurs d'un formulaire quand on sait pas le nb de valeurs - PHP - Programmation

Marsh Posté le 06-12-2007 à 09:09:29    

Bonjour à tous,
J'essaye de gérer une petite liste de liens persos en intranet.
Chacun va pouvoir ajouter les pages qu'il souhaite, et j'aimerai qu'il puisse changer à volonté le titre de ces liens et leur ordre.
J'ai donc fait un petit script pour permettre de faire une telle modif, mais je bloque lorsqu'il s'agit de récupérer les valeurs transmises une fois les changements souhaités envoyés.
 
Exemple : un utilisateur a 7 liens.
Sur la page de modif ça lui affiche la liste de ses liens, et à chacun un select déroulant indiquant son ordre (stocké en bdd), avec donc possibilité de changer celui-ci :

Code :
  1. // recup du dernier numero de tri affecté
  2. $sqlmax="SELECT max(ordre) AS nbmax FROM favoris WHERE src_id_user='".$_SESSION['id']."'";
  3. $resultmax=mysql_query($sqlmax);
  4. $resultatmax=mysql_fetch_array($resultmax, MYSQL_ASSOC);
  5. $nbmax=$resultatmax["nbmax"];
  6. print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
  7. <ul>';
  8. while($resultat=mysql_fetch_array($result, MYSQL_ASSOC)){
  9. print '<li><input type="text" name="favori'.$resultat['id_favori'].'" value="'.$resultat['titre_favori'].'" size="30">
  10. <select size="1" name="ordre'.$resultat['id_favori'].'">';
  11. // liste de tri
  12.  $i=1;
  13.  for($i; $i<=$nbmax; $i++){
  14.  print '<option value="'.$i.'"';
  15.   if($i==$resultat['ordre'])echo ' selected';
  16.  print '>'.$i.'</option>';
  17.  }
  18. print '</select></li>';
  19. } // fin while
  20. print '</ul>
  21. <input type="hidden" name="param" value="tri" />
  22. <input type="hidden" name="act" value="mod" />
  23. <input type="submit" name="submit" value="Valider" />
  24. </form>';


 
Quand le script se lance, comment faire pour récupérer des valeurs dont on ne sait pas par avance combien il y en aura ?
ex : favori1 aura tel titre et aura la position ordre1
ainsi de suite jusqu'au favori7 dans ce cas.
 
J'avais fait une boucle pour tenter de récup les valeurs, mais bien sur ça ne marche pas.

Code :
  1. $sqlmax="SELECT max(ordre) AS nbmax FROM favoris WHERE src_id_user='".$_SESSION['id']."'";
  2. $resultmax=mysql_query($sqlmax);
  3. $resultatmax=mysql_fetch_array($resultmax, MYSQL_ASSOC);
  4. $nbmax=$resultatmax["nbmax"];
  5.  $i=1;
  6.  for($i; $i<=$nbmax; $i++){
  7.  $favori.$i=$_POST['favori'.$i];
  8.  print $favori.$i;
  9.  }


 
Vous avez une idée ?
Merci de votre aide.


---------------
Fred 'Chandon' | http://www.inventeursfous.com | http://www.plantesgrasses.com
Reply

Marsh Posté le 06-12-2007 à 09:09:29   

Reply

Marsh Posté le 06-12-2007 à 09:55:26    

foreach : http://fr2.php.net/manual/fr/contr [...] oreach.php


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 06-12-2007 à 11:28:19    

Merci !!!


---------------
Fred 'Chandon' | http://www.inventeursfous.com | http://www.plantesgrasses.com
Reply

Sujets relatifs:

Leave a Replay

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