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

Franck -  
 Franck -
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 !

2 réponses

Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
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
Franck
 
Merci beucoup!
0