[PHP] incrémentation de $_POST[] ...
Résolu
Erdnax
Messages postés
2273
Date d'inscription
Statut
Contributeur
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Php incrémentation
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Alert php ✓ - Forum PHP
- Php alert - Forum PHP
10 réponses
Salut,
Tout paraît bon, mais $img et$cat_id sont sans cesse ecrasés par leur valeur suivante (exemple: $img sera égal à $_POST['img1'] puis après sera égal à $_POST['img2'].
Donc utilise un tableau:
Tout paraît bon, mais $img et$cat_id sont sans cesse ecrasés par leur valeur suivante (exemple: $img sera égal à $_POST['img1'] puis après sera égal à $_POST['img2'].
Donc utilise un tableau:
while ($i < $nb){ $img[$i] = $_POST['img'.$i]; $cat_id[$i] = $_POST['cat_id'.$i]; }
En fait c'est égal que les variables soient automatiquement écrasée ou non. Elles sont tout de suite traitée, puis après sont inutiles donc pas d'importance.
Par contre, tu peux me confirmer que la méthode $_POST[] accepte que l'on lui balance des variable ? ('cat_id'.$i)
@+
Par contre, tu peux me confirmer que la méthode $_POST[] accepte que l'on lui balance des variable ? ('cat_id'.$i)
@+
Oui, comme l'index d'un tableau est une chaine :
=> $tableau ['chaine']
...tu peux parfaitement faire un travail sur cette chaine comme tu le fais avec la concatenation.
Vérifie d'abord que ton post possède vraiment ces index.
Fais un echo sur tes $_POST['img'.$i] dans ta boucle, comme ça tu verras bien...
=> $tableau ['chaine']
...tu peux parfaitement faire un travail sur cette chaine comme tu le fais avec la concatenation.
Vérifie d'abord que ton post possède vraiment ces index.
Fais un echo sur tes $_POST['img'.$i] dans ta boucle, comme ça tu verras bien...
Bon, alors voilà mon code :
Pourtant mon formulaire fonctionne, car lorsque je traite image par image (sans la boucle, avec des données fixes) cela marche.
Donc d'où vient mon bug ?
EDIT : la seule chose qui s'affiche est mon "Les données ont bien été enregistrées".
$nb = $_POST['nb']; $i = 1; while ($i < $nb){ $img = $_POST['img'.$i]; $cat_id = $_POST['cat_id'.$i]; $comm = $_POST['comm'.$i]; $i++; $requete = "UPDATE images SET cat_id='$cat_id', img='$img', comm='$comm', susp='false' WHERE img='$img'"; mysql_query($requete); echo 'Cat_id : '.$cat_id."<br>\n"; echo 'Img : '.$img."<br>\n"; echo 'Comm : '.$comm."<br>\n"; } echo 'Les données ont bien été enregistrées.<br>'."\n";Le truc, c'est que ma table n'est pas mise à jour, et que mes echo ne donnent rien...
Pourtant mon formulaire fonctionne, car lorsque je traite image par image (sans la boucle, avec des données fixes) cela marche.
Donc d'où vient mon bug ?
EDIT : la seule chose qui s'affiche est mon "Les données ont bien été enregistrées".
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et quand tu essaies
echo $_POST['img'.$i]
Ca ne donne rien?
C'est dans une fonction tout ça ou c'est global?
echo $_POST['img'.$i]
Ca ne donne rien?
C'est dans une fonction tout ça ou c'est global?
C'est global... c'est pour ça que j'ai posté ici, je comprends pas pourquoi ça ne marche pas... Mais je vais continuer à faire des test ce soir.