Problème update [PHP] - PHP - Programmation
Marsh Posté le 12-02-2004 à 15:27:40
hermes le messager a écrit : Ben, c'est normal, tu as ça : |
ben oui, et je mets koi moi à la place de ca ?
Marsh Posté le 12-02-2004 à 15:28:38
samesoule1977 a écrit : |
Ah ok... Attends, je regarde dans ma boule de crystal. Ah ben non, ya trop de lumière aujourd'hui. Peut être demain alors...
Marsh Posté le 12-02-2004 à 15:36:27
bah tu peux essayer sans, ça te mettra à jour toutes les lignes de ta table
mais ça m'étonerait que ce soit ça que tu veuilles faire
quelle est la structure de la table?
enfin, dis nous plutôt ce que tu cherches à faire.
Marsh Posté le 12-02-2004 à 15:41:59
samesoule1977 a écrit : |
On dirait que c'est ce qu'il veut ... je ne vois pas trop l'utilité mais bon ...
Marsh Posté le 12-02-2004 à 16:37:55
dropsy a écrit : bah tu peux essayer sans, ça te mettra à jour toutes les lignes de ta table |
Bon d'accord j'avoue,j'ai pas été tres clair...
Table facture :
facid, facnum, facdate, ....
Table marchandises :
marchid, marchqte, marchpoids,...et facid
Dans une facture, il peut y avoir jusqu'à 4 lignes de marchandises.
Ensuite, j'ai un formulaire de modification de ces lignes...(pour les gens qui ne sont pas capables de saisir une facture sans se planter...)
Il va récupérer toutes les lignes de marchandises ayant la référence de ma facture...
Code :
|
Et lorsqu'ils ont modifié les 4 lignes(s'ils se sont plantés sur les 4...), je voudrais qu'il update ces 4 lignes dans ma table marchandise.
Voilà, la suite vous la connaissez...il ne me corrige qu'une seule ligne... losque je lance mon update.
il n'y a pas un moyen de faire une boucle ou kelke chose comme ca ?
Merci
Marsh Posté le 12-02-2004 à 16:38:06
darxmurf >
jsais pas
il a pê plusieurs fois le même marchid dans sa table, mais dans ce cas, sa première requête devrais toutes les mettre à jour...
Marsh Posté le 12-02-2004 à 16:41:36
dans ton formaulaire html, tu as pls input avec le même nom avec ta façon de procéder
c'est à ce niveau là qu'il faut que tu fasses tes modifs
Marsh Posté le 12-02-2004 à 16:46:10
dropsy a écrit : dans ton formaulaire html, tu as pls input avec le même nom avec ta façon de procéder |
oui mais ils ont tous un id différent, ca devrait suffir à les différencier dans la table non ?
Marsh Posté le 12-02-2004 à 17:13:18
tu n'as pas d'id dans tes balise input
regarde le code html généré
Marsh Posté le 13-02-2004 à 08:09:43
Hu en passant tu peux corriger ça :
Code :
|
par ça :
Code :
|
ça t'enlève 1 ou 2 lignes, c'est plus simple ...
Marsh Posté le 13-02-2004 à 08:13:54
hm moi je verrais un truc dans le genre ça :
tu ajoute à la fin de chaque input un numéro
genre :
echo " <input type='text' maxlength='5' name='marchid$i' size='5' value='$marchid' >";
comme ça à chaque passage dans la boucle ton input prendre un nom différent
marchid1
marchid2
...
une fois le truc modifié, quand le mec valide, tu passe dans la page suivante la valeur de $i comme ça tu sais combien de lignes ont été modifiées et il te reste plus qu'à faire ton UPDATE en fonction de ça...
Marsh Posté le 17-02-2004 à 18:44:07
darxmurf a écrit : hm moi je verrais un truc dans le genre ça : |
merci,
j'ai modifié mon formulaire ainsi :
Code :
|
effectivement, maintenant, ils ont un nom différent,mais maintenant, j'ai un problème pour récupérer les noms dans mon update
Code :
|
si je met ca,'".$marchnum.$i."', il ne me récupère aucune donnée.
Quelle est la bonne formulation ?
j'ai essaye avec $_POST['".$marchnum.$i."'] mais ca marche pas non plus
merci
Marsh Posté le 17-02-2004 à 22:27:31
hello,
2 choix :
1) il faut "magouiller" avec les noms
essaye de jouer avec $$var
Code :
|
explication : dans la variable temp j'y pose le nom de la première variable "mavar" et j'y ajoute 1 donc $temp vaudra "mavar1". En faisant $$temp il va en fait faire $mavar1...
sinon tu peux faire echo ${'marchnum'.$i};
et ça marche aussi ...
Marsh Posté le 12-02-2004 à 14:13:06
Bonjour,
J'ai un formulaire de modification de mes factures :
dans ce formulaire, je peux modifier plusieurs lignes de matériel.
Ensuite je fais un update de ma table marchandise, en lui disant de remplacer les données ou mon id est égal à celui de la table.
Mon problème, c'est que quand je lance l'update, il ne me modifie que la dernière des lignes de matériel et pas les autres.
Voici le code de mon update :
Quelqu'un pourrait me dire comment faire pour qu'il me corrige toutes les lignes ?
Merci d'avance