Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/01/2011, 18h13   #1
Invité régulier
 
Inscription : juin 2010
Messages : 61
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : juin 2010
Messages : 61
Points : 7
Points : 7
Envoyer un message via MSN à andaman
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 :
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 :
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 :
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"/>
andaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2011, 23h25   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
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 ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 12h36   #3
Invité régulier
 
Inscription : juin 2010
Messages : 61
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : juin 2010
Messages : 61
Points : 7
Points : 7
Envoyer un message via MSN à andaman
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
andaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 13h44   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
C'est la table initiale qui a un problème la.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 08h19   #5
Invité régulier
 
Inscription : juin 2010
Messages : 61
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : juin 2010
Messages : 61
Points : 7
Points : 7
Envoyer un message via MSN à andaman
/*SOLUTION:*/

Après la connexion à la base de données il faut mettre:
Code :
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 :
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
andaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 15h12   #6
Invité régulier
 
Inscription : juin 2010
Messages : 61
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : juin 2010
Messages : 61
Points : 7
Points : 7
Envoyer un message via MSN à andaman
J'ai même essayé avec un for ou un foreach pas moyen :s
andaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h17.


 
 
 
 
Partenaires

Hébergement Web