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

Fermé
Signaler
-
 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

Messages postés
1935
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Merci beucoup!