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 :

Problème de mise à jour [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut Problème de mise à jour
    Résolu : Problème lié à JavaScript

    Bonjour,

    J'ai besoin d'aide pour un problème de mise à jour de ma base de données qui semble bateau, et pourtant si compliqué.
    Je vous présente tout d'abord mon code php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $nom_menu = $table[1][1];
    $actif = $table[1][2];
    $ordre = $table[1][3];
    if($actif == 'oui'){
          $actif = 1;
    }
    else{
          $actif = 0;
    }
    mysql_query("UPDATE menu SET actif='".$actif."', ordre='".$ordre."' WHERE nom_menu='".$nom_menu."'");
    ?>

    Et voici la table que je souhaite modifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE menu
       (
        id_menu INT NOT NULL AUTO_INCREMENT,
    	nom_menu VARCHAR(32) NOT NULL,
    	ordre TINYINT NOT NULL,
    	actif ENUM('0','1') NOT NULL,
    	CONSTRAINT clef_menu PRIMARY KEY (id_menu)
       );
    Mon problème est que la mise à jour se fait partiellement, en effet le champs actif se met à jour mais pas le champs ordre et là j'ai plus d'idée et je ne vois pas où j'ai fait une erreur, voilà se que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mysql_query("UPDATE menu SET actif=$actif, ordre=$ordre WHERE nom_menu=$nom_menu);
    mysql_query("UPDATE menu SET ordre='".$ordre."' WHERE nom_menu='".$nom_menu."'"); /* Je l'ai test seul, mais ne marche pas */
    mysql_query("UPDATE menu SET actif='".$actif."', ordre='".(int)$ordre."' WHERE nom_menu='".$nom_menu."'"); /* Pour éviter les problèmes de typage, ne marche pas */
    mysql_query("UPDATE menu SET actif='".$actif."', ordre='1' WHERE nom_menu='".$nom_menu."'"); /* Ca sa fonctionne */
    mysql_query("UPDATE menu SET actif='".$actif."', ordre=".$ordre." WHERE nom_menu='".$nom_menu."'"); /* ne marche pas */
    Merci de votre aide, je comprend pas pourquoi sa ne marche pas.

    -- note :
    $table[1][1] = 'menu1';
    $table[1][2] = 'oui';
    $table[1][3] = '2';

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourrais-tu être plus précis que "ca ne marche pas" ?

    Tu devrais commencer par afficher ta requete et les erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql = "UPDATE menu SET actif='$actif', ordre=$ordre WHERE nom_menu='$nom_menu'";
    echo $sql;
    mysql_query($sql);
    echo mysql_error();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Merci pour ton aide,

    J'ai inséré le code et je n'ai aucun message d'erreur, j'obtiens ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE menu SET actif='1', ordre=2 WHERE nom_menu='menu1'
    La requête est comprise mais pas interprété comme il faut, seul le champ actif est modifié. (je n'ai pas d'autre contrainte dans ma BDD)

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    As-tu testé ta requete dans phpmyadmin ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39
  2. Problème de mise à jour de données avec IBClientDataset
    Par Papino dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/09/2005, 14h04
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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