IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

INSERT INTO WHERE [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 62
    Par défaut INSERT INTO WHERE
    Bonjour,

    J'ai un jeu qui pose une question avec 4 réponses (genre qcm). Il y a plusieurs questions par jour, donc plusieurs parties.

    J'enregistre dans ma base chaque partie, correspondant à chaque question.

    Pour chaque partie, j'enregistre différents champs (id, la question, la bonne réponse, le gagant, date et heure de la partie, etc...)
    Et je voudrais enregistrer pour chacune de ces parties, la date et l'heure à laquelle la réponse a été envoyée, pour faire un classement des joueurs.


    J'ai donc le formulaire classique avec la question et les 4 réponses possibles.

    J'ai rajouté un champ caché dans le formulaire qui correspond à l'ID de la partie en cours ($numpartie).

    J'ai ensuite un verif.php comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    <?
    $rep=$_POST['reponse'];//reponse donnée dans le formulaire
    $id=$_POST['id'];//numéro de la question
    $numpart=$_POST['numpartie'];//ID de la partie
     
     
    require ("connectdb.php");//connection à la base
                //Execution de la requete SQL
                //$reqsql="Select numquest,question,rep1,rep2,rep3,rep4,rep from questionnaire where numquest=".$id;
                $reqsql="SELECT * FROM question WHERE num=$id ";
    			$resbase=mysql_query($reqsql,$cnx) or die ("Echec de $sqlquest");
    			while ($quizz=mysql_fetch_assoc($resbase)){
                //$repexact prend la valeur trouvé dans le champs 5
                $repexact=$quizz['rep'];
                }
     
    $date_envoi = date("Y/m/d H:i:s");//date validation formulaire
     
    if ($rep == $repexact) {
    $sql_form = mysql_query("INSERT INTO parties (dateenvoi) VALUES('$date_envoi') WHERE numpar=$numpart")
    or die('Erreur SQL !'.$sql_form.'
    '.mysql_error());
    header("Location: http://www.****.com/pages/tu-as-gagne.php");
     
     
    }
     
    else { 
    echo 'vous avez perdu';
    }
     //ferme la connection à la base
            mysql_close();
    ?>
    Et j'ai cette erreur : Erreur SQL ! You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE numpar=183' at line 1

    Mon souci me parait pourtant simple...

    Au moment ou j'affiche une nouvelle question avec les 4 réponses, j'enregistre alors dans ma base 'parties' les différents champs cités plus haut (ID de la partie, la question, la réponse exacte, le gagant, et je voudrais la date à laquelle a été validé le formulaire, pour tout simplement faire gagner le premier ayant répondu... et avoir un classement...

    J'espère avoir été clair...

    Merci d'avance...

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Ce n'est pas INSERT mais UPDATE qu'il faut utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE parties SET dateenvoi = '$date_envoi' WHERE numpar=$numpart

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 62
    Par défaut
    Le blaireau que je fais...

    Merci, c'est tout bon...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Requetes SQL INSERT INTO WHERE
    Par makamine dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/05/2011, 10h05
  2. insert into + where
    Par dlamo dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/10/2007, 13h20
  3. [SQL] Erreur lors de INSERT INTO => WHERE
    Par DeFCrew dans le forum Access
    Réponses: 14
    Dernier message: 07/08/2006, 16h26
  4. INSERT INTO .... WHERE ... problème de syntaxe ...
    Par snoopy69 dans le forum Oracle
    Réponses: 6
    Dernier message: 29/08/2005, 16h18
  5. insert into + where
    Par bagheera dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/06/2004, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo