Se connecter avec
S'enregistrer | Connectez-vous

formulaire et requete avec foreach

Dernière réponse : dans Programmation

voici un bout de code de ma page d'appel avec un formulaire qui va cherhcer dans un tableau et auquel on ajoute des notes (mais le probleme n'est pas la):

  1. ... <input readonly type=\"text\" name=\"id_joueur[$i]\" value=\"$row12[2]\" class=\"texte_noir\" size=\"1\"></p></td>
  2. <td>
  3. <SELECT NAME=\"note[$i]\" class=\"texte_noir\">
  4. <option value=\"0\" selected>-</option>
  5. <option value=\"1\">1</option>
  6. <option value=\"2\">2</option>
  7. <option value=\"3\">3</option>
  8. <option value=\"4\">4</option>
  9. <option value=\"5\">5</option>
  10. </select></td>
  11. </tr>...


une fois recupéré les id_joueur et les note, je les envoie sur le serveur avec ce code :

  1. foreach ($_POST['id_joueur'] as $id => $id_joueur) {
  2. $note = ( $_POST['note'][ $id ] );
  3. $sql = "INSERT INTO votes (id, id_match, id_joueur, note, id_posteur) VALUES ('', '$id_match', '$id_joueur', '$note', '1')";
  4. mysql_query($sql)or die ("pas possible");
  5. }


il m'envoie donc toutes ces données (notes en fonction des id_joueur) dans une autre table. seulement le probleme, c'est qu'il m'envoie la derniere en double :fou: 
j'ai beau tourner ca dans tout les sens ou faire des recherches, je ne vois pas comment resoudre ce probleme ... HELP

PS : j'ai pas trop approfondi la question encore, mais si qq'un peux m'aider a faire passer mes données id_joueur (par method POST) autrement que par un "input readonly", je suis preneur.

merci ...

Autres pages sur : formulaire requete foreach

Lassé par la pub ? Créez un compte

Pour ton PS: un input avec un type=hiden ?

Sinon c'est les balises [ CODE] et [ /CODE] qu'il faut mettre, pas [ QUOTE] ;) 

Par ailleurs il conviendrait de verifier la validité de tes données avant d'attaquer ta BDD avec sinon tu crée une grosse faille de sécurité.

Pour le doublement, pas d'idée là :( 

Citation :
Pour ton PS: un input avec un type=hiden ?
non :
  1. <INPUT TYPE=\"submit\" VALUE=\"Enregistrer\">

Citation :
Sinon c'est les balises [ CODE] et [ /CODE] qu'il faut mettre, pas [ QUOTE] ;) 
ca c'est rectifié
Citation :

Par ailleurs il conviendrait de verifier la validité de tes données avant d'attaquer ta BDD avec sinon tu crée une grosse faille de sécurité.
je sais aussi, je pense qu'il faut que j'utilise des sessions ...mais c'est pour l'instant pas ma préocupation
Citation :

Pour le doublement, pas d'idée là :( 

il est la le probleme ...

probleme resolu avec foreach. en fait c'est j'aurais du y penser plus tot. j'avais un bout de code qui etait censer afficher la requete et ce bout de code executait une partie (la derniere donnée) de la requete en fait. ca c'est donc resolu.

par contre, vous conseillez quoi pour remplacer les imputs ???

Citation :
Vu que tu as besoin de transmettre des données venant du formulaire, autant integrer le reste AMHA.

Sinon en passant juste ta variable en paramètre du script ça n'irait pas ?
(type machin.php?mavariable=1)



c'est quoi amha ?

sinon avec l'url, j'y ai bien penser mais le truc c'est que j'ai 11 données issu du formulaire et 11 données variables issu d'une requete sql ...

AMHA = A Mon Humble Avis.
C'est quoi le problème de tout passer par l'url ? Meme si y'a 50 variables ça ne pause pas (trop) de problèmes ... (hormis la taille totale de l'url à verifier). Et vu que tu as de toute façon un formulaire, tu peux le surcharger un peu avec des inputs hiden ...
Lassé par la pub ? Créez un compte