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 UPDATE en 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é
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Par défaut Problème UPDATE en MYSQL
    Bonjour,

    Via un peu de javascript (champs cachés) je fais un INSERT INTO (3 lignes à la fois)sans problème. Cependant, quand je veux faire un UPDATE, pas moyen de le faire sur les 3 même lignes.
    De plus, dans l'update, la valeur des champs sont identiques or moi je voudrais la valeur pour chaque langue

    Est ce que quelqu'un pourrait m'aider?
    Quelques lignes de codes ci-dessous.

    Merci d'avance,
    David

    Mon update:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE country SET name_country='".$country_fr."',lang='".$lang_fr."',
    name_country='".$country_nl."',lang='".$lang_nl."',
    name_country='".$country_uk."',lang='".$lang_uk."' WHERE id_group='".$_GET['id_group']."'AND id_country='".$id."'";
    Valeurs de mes champs de formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input class="validate[required,length[0,100]] text-input" type="text" id="country_fr" name="country_fr" style="display: none" value="<?php echo $country_fr?>"/>		
    <input type="text" id="country_nl" name="country_nl" style="display: none" value="<?php echo $country_nl?>"/>
    <input type="text" id="country_uk" name="country_uk" style="display: none" value="<?php echo $country_uk?>"/>
    Le code source généré:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input class="validate[required,length[0,100]] text-input" type="text" id="country_fr" name="country_fr" style="display: none" value="Belgique"/>		
    <input type="text" id="country_nl" name="country_nl" style="display: none" value="Belgique"/>
    <input type="text" id="country_uk" name="country_uk" style="display: none" value="Belgique"/>

  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 etre un peu plus précis que "pas moyen" ?
    As-tu regardé si ta requete s'executait ? produisait une erreur ? As tu affiché ta requete ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Par défaut
    Oui bien sûr .

    En fait je fais mon insert into sans problème.
    Le souci, c'est que quand je désire faire un update, il prend le premier "id" qu'il trouve. Or je voudrai récupérer chaque valeur de chaque ligne.

    Oui, j'ai fait des echo de mes requêtes. Il ne me donne pas d'erreur mais je dois chaque fois réencoder mes données pour les 3 champs text.

    Ma requête avant l'update:

    SELECT * FROM country WHERE id_group='077'

    Le résultat de mon update:

    UPDATE country SET name_country='Belgiqueup',name_country='Belgiquerr',name_country='Belgiqueadf',name_country='Belgiquecdf'WHERE id_group='077'

    Un screen de que que le fait php après l'update:

    et un screen de la structure de la table initiale:


    Merci d'avance

  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
    C'est la table initiale qui a un problème la.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Par défaut
    /*SOLUTION:*/

    Après la connexion à la base de données il faut mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES UTF8");
    ce qui donne:



    Mais j'ai toujours ce problème d'update qui est à l'origine de mon post.
    J'ai lu qu'il existait SQL CASE. Devrais-je partir sur ceci?
    Et quand je fais ceci, il me revoit 0 ou 1 dans mon camps name_country:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE country SET name_country = CASE
    WHEN (id_country=21) THEN name_country='Belgique'
    WHEN (id_country=23) THEN name_country='Belgium'
    ELSE name_country
    END
    P.S: Je suis un vrai bille en mysql

    Merci d'avance de vos réponses

  6. #6
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Par défaut
    J'ai même essayé avec un for ou un foreach pas moyen :s

Discussions similaires

  1. [MySQL] problème UPDATE MySQL
    Par Tazuka dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/04/2014, 20h39
  2. Problème update date "0000-00-00" dans MySQL
    Par Floflo_85 dans le forum Hibernate
    Réponses: 1
    Dernier message: 12/07/2011, 17h58
  3. probléme update avec mysql remote connection
    Par chungech dans le forum Requêtes
    Réponses: 0
    Dernier message: 26/09/2010, 20h56
  4. [MySQL] Problème syntaxe requete MySQL UPDATE
    Par flo73 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/07/2010, 07h41
  5. problème update avec mysql
    Par opeo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/03/2007, 11h30

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