Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2007, 11h26   #1
Nouveau Membre du Club
 
Inscription : octobre 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 95
Points : 28
Points : 28
Par défaut Ecrasement de valeur

Bonjour à toutes et tous,

Je rencontre une difficultée insoluble à mon sens car c'est un défaut de logique. Et je voudrais votre avis.
Je fais afficher dans une boucle des réferences et des quantités. Je veux autoriser la modification de cette quantité, pour cela j'utilise la méthode post dans un "form". L'utilisateur modifie la quantité et il l'a "post".
Au final j'ai bien la nouvelle quantité (vue par le réaffichage de la page) mais cela se fait toujours au même indice i=0 normal car au réaffichage je repasse par ma boucle et donc mon indice i est réinitialisé à 0.
Je ne vois pas comment m'en sortir.
Je vous fait voir le code expurgé :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
echo "<table>";
echo "<tr><td colspan='2'></td></tr> 
<td>Référence</td>
<td>Commande</td>
       </tr>";
$i=0;
while($i<$nbArticles)  
{
 if (isset($_POST['NEWQTEFEME'][$i]))
   {
    $newqtefeme = $_POST['NEWQTEFEME'][$i];
    $_SESSION['panier']['cdefeme'][$i] = $newqtefeme;
   }
else
  {
   $newqtefeme = $_SESSION['panier']['cdefeme'][$i];
   }
echo '<tr>';
echo '<td>'.$_SESSION['panier']['reference'][$i]).'</td>';
echo "<form action='' method='post'>";
//Je crée une saisie sur la qte 
echo '<td><input type="num" name="NEWQTE[]" size="3" maxlength="3"     value='.($_SESSION['panier']['cdefeme'][$i]).'>';
echo "<div align='right'><input type='submit' value = 'ok'></div>";
echo "</td></form>";
$i++;
}
Merci à ceux qui m'aideront ou m'indiqueront une autre méthode.
pat06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2007, 11h32   #2
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Deux choses :

1. Le type num d'un input n'existe pas.
2. Tu as mis ta balise form dans ta boucle, du coup tu as autant de formulaire que d'articles, donc ton tableau NEWQTE ne contient forcément qu'une et une seule entrée.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2007, 11h46   #3
Nouveau Membre du Club
 
Inscription : octobre 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 95
Points : 28
Points : 28
Ok pour le type num je ne savais pas et comme cela ne génère ni Erreur ni Notice...

Pour le second point c'est effectivement sur chaque ligne j'ai un formulaire pour la simple raison que l'utilisateur doit pouvoir modifier une quantité d'un article donné. Mais pas forcément modifier toutes le quantité de tous les articles. Est-ce impossible?
pat06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2007, 13h18   #4
Nouveau Membre du Club
 
Inscription : octobre 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 95
Points : 28
Points : 28
Précision à ma précédente réponse le tableau NEWQTE ne contient forcément qu'une et une seule entrée la quantité saisie. C'est ce que je veux. Par contre c'est l'indice où doit se faire la modification que je ne maîtrise pas.

Merci
pat06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web