Réafficher des données modifiées

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Réafficher des données modifiées

Re: Réafficher des données modifiées

par xTG » 23 févr. 2011, 18:38

Non ce que je voulais dire c'est que dans ta page tu as plusieurs input avec comme name quantite (et aussi avec le même id).
Il faudrait que tu concatènes le nom avec la clé primaire de ta table.
echo '<input type="text" name="quantite_' . $lignes['codearticle'] . '" id="quantite_' . $lignes['codearticle'] . '" value="'.$qte.'">';
Et pour la valeur tu peux faire ainsi :
if( isSet($_POST['quantite_' . $lignes['codearticle']]) )
  $qte = $_POST['quantite_' . $lignes['codearticle']];
else
  $qte = $lignes['qte'];

Re: Réafficher des données modifiées

par jacfev » 23 févr. 2011, 17:54

Merci xTG déjà de l'intérêt que tu portes à mon Pb.

> tu as une boucle mais tu réaffiches les mêmes input avec les mêmes nom.

C'est bien le Pb.

Quand le formulaire n'est pas soumis (boucle while) les modifs de valeurs de text et input text ne sont pas pris en compte par $_POST.

Ce sont les valeurs après la soumission qu'il me faut récupérer.

Re: Réafficher des données modifiées

par xTG » 23 févr. 2011, 17:36

Je ne peux évidemment pas me servir de la boucle while
Pourquoi pas ? ^^
=> Si la valeur $_POST correspondante existe c'est elle qu'on affiche, sinon c'est celle récupérée via le while.

Par contre je vois comme un soucis, tu as une boucle mais tu réaffiches les mêmes input avec les mêmes nom. (cf quantité)

Réafficher des données modifiées

par jacfev » 23 févr. 2011, 17:29

Bonjour,
//Ma page récupère et affiche les lignes de données depuis ma base :

while ($lignes = mysql_fetch_assoc($result)) {
echo $lignes['codearticle'].' | ';
echo $lignes['designation'].' | ';
echo $lignes['prix'].' | ';

//En même temps que cet affichage je place en bout de chaque ligne 2 input :

// un pour saisir la quantité				
echo '<input type="text" name="quantite" id="quantite" value="'.$qte.'">';

// et un pour marquer la ligne
echo '<input type="radio" name="cd'.$i.'" value="c">'.' / ';				
echo '<input type="radio" name="cd'.$i.'" value="d">'.' / ';
echo '<input type="radio" name="cd'.$i.'" value="0" checked>';
echo '<br>'; //fin de ligne
}

//j'obtiens donc une liste de N lignes qui s'affichent
//je saisis ensuite les valeurs à text et radio 
// pas de Pb jusque là
Mon Pb:

Maintenant je veux que ces lignes avec des valeurs personnalisées (text et radio) s'affichent après les avoir envoyées par POST.
Je ne peux évidemment pas me servir de la boucle while pour récupérer mes lignes modifiées puisque le boucle ne sert qu'à afficher les données.

Il me semble devoir obligatoirement créer un array() pour récupérer ces lignes avec les valeurs de text et radio, et réafficher ces lignes ensuite ?

Avez-vous une solution simple ? :?:

Cordialement
Jacques.