Page 1 sur 1

2 boucles while à la suite pour recup données form

Posté : 13 déc. 2006, 12:26
par freak74
Bonjour,

Voila mon problème:
Je fais une boucle dans un formulaire, pour récuperer les données j'utilise une boucle while, cela fonctionne (code ci-dessous).

Mais si je repète la même boucle while (similaire) dans mon script afin de récupérer une seconde fois les données pour l'affichage, je n'obtiens aucune valeur.

Comment faire pour récupérer une deuxième fois les valeurs plus bas dans mon script ?

Merci d'avance

Dans mon formulaire :

Code : Tout sélectionner

<form enctype="multipart/form-data" action="ajouter.php" method="post"> <? for ($num=1; $num <= 20; $num++) { ?> <input name="id[<? echo $num ?>]" type="hidden" value="<? echo $num; ?>"> <input name="titre[<? echo $num ?>]" type="text" class="boxes" id="titre[<? echo $num ?>]" size="25"> <input name="ecoute[<? echo $num ?>]" type="file" class="boxes" id="ecoute[<? echo $num ?>]"> ....................... <? } ?> </form>

édes données de mon formulaire avec une boucle while:

Code : Tout sélectionner

while ( list ( $key , $val ) = each ( $_POST[id] ) ) { $id = $key; $titre[$key] = $_POST[titre][$key] ; $ecoute[$key] = $_FILES[ecoute][name][$key] ; $ecoutetmp[$key] = $_FILES[ecoute][tmp_name][$key] ; ....................... }

Posté : 16 déc. 2006, 17:45
par mere-teresa
Pourquoi ne pas utiliser les variables que tu as créées lors de la 1ère boucle ?

($titre[$key] par exemple)

Sinon, je t'aurais plutôt conseillé une boucle foreach()
foreach($_POST as $clef = $valeur)
{
    if(is_array($valeur)
    {
        foreach($valeur as $id => $contenu)
       {
            $mes_donnees['clef'][$id] = $contenu;
        }  
    }
     else
    {
    $mes_donnees['clef'] = $valeur;
    }
}
Note que ce tableau transfère juste le tableau $_POST dans le tableau $mes_donnees, mais tu peux faire des filtrages durant le transfert, comme des trim(), des addslashes(), etc...