Récupérer et afficher les valeurs 'Input' d'un 'While'

Fermé
Franck - Modifié par Franck le 13/10/2012 à 17:12
 Franck - 14 oct. 2012 à 15:25
Bonjour,

J'essaye de récupérer des valeurs à partir d'un nombre variable d'Input provenant d'un While. Les données sont bien envoyées (j'ai testé avec un echo sur un des Input), cependant je n'arrive pas à afficher le résultat.

Je travaille sans base de données, le formulaire devrait juste générer un document.


Voici le code du formulaire:
<?php   
$nombre_de_lignes = 1;   
while ($nombre_de_lignes <= $NombreDemande)   
{   
    echo '<font id="h7">Recherche n°'.$nombre_de_lignes.'</font><br/><input type="text" size="100" name="Rech'.$nombre_de_lignes.'" id="Rech'.$nombre_de_lignes.'" class="UpperCase" onblur="upperMe(this)" /> <input type="checkbox" name="Found'.$nombre_de_lignes.'" id="Found'.$nombre_de_lignes.'" value="Rech'.$nombre_de_lignes.'" /><br />';   
    $nombre_de_lignes++;   
}   
?>   

Le formulaire envoi les variables Rech'.$nombre_de_lignes.' et Found'.$nombre_de_lignes.' .



Voici le code de récupération (essai):
<?php   
if(!empty($_POST['NombreDemande']))      $NombreDemande=$_POST['NombreDemande'];   
else      $NombreDemande="";   

$Demandes = $NombreDemande;    
for ($nombre_de_lignes = 1 ; $nombre_de_lignes <= $Demandes ; $nombre_de_lignes++)    
{     
echo $Rech[".$nombre_de_lignes."]=$_POST['Rech[".$nombre_de_lignes."]'];"<br />";    
  }     
?>   





Voici le code pour pour afficher le résultat de la variable $Rec[".$nombre_de_lignes."](essai):

<?php   
for ($nombre_de_lignes = 1 ; $nombre_de_lignes <= $Demandes ; $nombre_de_lignes++)    
{     
echo "$Rech["$nombre_de_lignes"];""<br />";    
  }   
?>   




Si vous voyez les erreurs ou si vous voyez un autre moyen ..
Merci pour votre aide !

A voir également:

2 réponses

Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
Modifié par Atropa le 13/10/2012 à 18:57
bonsoir,

pour retrouver tes variables tu peux utiliser foreach

 foreach($_POST as $k => $v) { 
  if(substr($k,0,4) != 'rech') continue; 
  $numLigne = (int)substr($k,4); 
  echo 'ligne '.$numLigne.' : '.$v.'<br />'; 
 }


de cette manière même si tu ne sais pas le nombre de lignes ou si les numéros ne se suivent pas, tu inspectes tout le tableau et tu peux récupérer le numéro de ligne pour une valeur

une boucle for est plus approprié qu'une boucle while pour générer tes inputs

for($nombre_de_lignes = 1;$nombre_de_lignes <= $NombreDemande;$nombre_de_lignes++) echo '<font id="h7">Recherche n°'.$nombre_de_lignes.'</font><br/><input type="text" size="100" name="Rech'.$nombre_de_lignes.'" id="Rech'.$nombre_de_lignes.'" class="UpperCase" onblur="upperMe(this)" /> <input type="checkbox" name="Found'.$nombre_de_lignes.'" id="Found'.$nombre_de_lignes.'" value="Rech'.$nombre_de_lignes.'" /><br />';   
1
Merci beucoup!
0