begin process at 2012 05 31 11:42:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

UPDATE avec plusieurs WHERE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

UPDATE avec plusieurs WHERE

mercredi 13 janvier 2010 à 11:21:59 | UPDATE avec plusieurs WHERE

darxen

Bonjour,

J'aimerai optimiser mon nombre de requête a la base de donnée et je suis face un a probleme avec ma condition WHERE dans mon update.


Voici la version optimisé qui ne fonctionne pas:

$param = $_GET['param'];

$chaque_get = explode(",", $param );
$max = count( $chaque_get );

$i = 0;
$where = '';

while ($i<$max){
$where .= 'idEntretien = '.$chaque_get[$i]. ' AND ';
$i++;
}
$where = substr($where, 0, -4);


$up = "UPDATE entretiens SET datePlannificationDebut='$DateDebut' , datePlannificationFin='$DateFin' , idTecPlannification = '$tech' WHERE $where ";
$query = mysql_query($up) or die (mysql_error());

Pour info : $param = 2,3

echo $up vaut : UPDATE entretiens SET datePlannificationDebut='2010-01-13' , datePlannificationFin='2010-01-20' , idTecPlannification = '5' WHERE idEntretien = 2 AND idEntretien = 3



Voici la version non optimisé qui fonctionne :




while ($i<$max){

$up = "UPDATE entretiens SET datePlannificationDebut='$DateDebut' , datePlannificationFin='$DateFin' , idTecPlannification = '$tech' WHERE idEntretien = '$chaque_get[$i]' ";
$query = mysql_query($up) or die (mysql_error());
$i++;
}


Ce while me fait des requete en boucle avec idEntretien = 2 / idEntretien = 3 ....etc (ce qui fonctionne très bien risque de générer bcp de requête par la suite)



Comme vous l'aurez compris si j'utilise plusieurs WHERE dans mon update, ça ne fonctionne pas.

S'agit il d'une erreur de syntaxe de ma part ?

Votre aide est la bien venu en tout cas.

Merci d'avance
mercredi 13 janvier 2010 à 11:32:13 | Re : UPDATE avec plusieurs WHERE

pyrrah

Membre Club

echo $up vaut : UPDATE entretiens SET datePlannificationDebut='2010-01-13' , datePlannificationFin='2010-01-20' , idTecPlannification = '5' WHERE idEntretien = 2 AND idEntretien = 3

Je vois ce que tu aimerais obtenir mais c'est impossible à faire de cette façon.
C'est pas logique d'ailleurs...
Si tu veux modifier idEntretien = 2 et idEntretien = 3, tu devras faire 2 requêtes.

En espérant avoir répondu à ta question, bonne continuation :)

___________________
Pyrrah
H4ck3r vaillant, rien d'impossible.
Si le problème est résolu, n'oubliez pas de cliquer sur "Problème résolu !". Merci !
mercredi 13 janvier 2010 à 11:47:39 | Re : UPDATE avec plusieurs WHERE

pyrrah

Membre Club

Puis j'ajoute à propos de :


Voici la version non optimisé qui fonctionne :

while ($i<$max){

$up = "UPDATE entretiens SET datePlannificationDebut='$DateDebut' , datePlannificationFin='$DateFin' , idTecPlannification = '$tech' WHERE idEntretien = '$chaque_get[$i]' ";
$query = mysql_query($up) or die (mysql_error());
$i++;
}


Ce while me fait des requete en boucle avec idEntretien = 2 / idEntretien = 3 ....etc (ce qui fonctionne très bien risque de générer bcp de requête par la suite)



Dans le pire des cas, tu pourras utiliser la fonction sleep(); (très utile, regarde dans le manuel PHP)

____________________
Pyrrah
H4ck3r vaillant, rien d'impossible.
Si le problème est résolu, n'oubliez pas de cliquer sur "Problème résolu !". Merci !
mercredi 13 janvier 2010 à 11:49:52 | Re : UPDATE avec plusieurs WHERE

47

Réponse acceptée !
bonjour,

peut être en remplacant WHERE idEntretien = 2 AND idEntretien = 3 par WHERE idEntretien = 2 OR idEntretien = 3. Avec un AND les 2 conditions doivent être bonnes, mais comment un champ peut-il être à la fois à la valeur 2 ET 3 ?


bonne journée

mercredi 13 janvier 2010 à 13:54:49 | Re : UPDATE avec plusieurs WHERE

darxen

En effet j'aurai du utiliser un OR

Merci pour votre aide.


Cette discussion est classée dans : up, get, update, where, identretien


Répondre à ce message

Sujets en rapport avec ce message

sans retour erreur [ par ehmarc ] salutest-ce qu'il ya moyen de savoir si un update à foirer.Je m'explique : je fait plein d'update en serie.... meme sur des champs dont la "where clau MSQL, plusieurs comamndes dans 1 requête [ par lutin2004 ] Hello tout le monde, j'ai un problème avec une requête MYSQL, j'aimerais faire plusieurs UPDATE en une seul fois et je sais pas comment les séparer da WHERE et UPDATE [ par shadow1779 ] Bonjour,quelqu'un pourrait t'il m'aider, j'essai de faire des requetes SQL suivantes, mais celles ci ne marchent pas:mysql_query("SELECT * FROM login Alors ce bug ?!?!? Rien capté ... [ par Tartuffe ] Hello tous.. Je viens de tomber sur un truc Extra, et je ne trouve pas d'explication ! 1/ j'ai une table pays dont l'ID unique est R_O_ID 2/ j'ai une Fonction UPDATE et requete WHERE [ par Graig083 ] Bonsoir,J'ai créé un formulaire relié à une base de donnée MySQL. Jusque là tout fonctionne.Dans un deuxième temps, j'aimerais pouvoir actualiser ma b champ texte [ par bakalai ] Bonjour ou  re pour certains ;-) <span class liste deroulante d' apres BDD [ par laperche ] Bonjour, J'ai créé une liste deroulante d' après une BDD, "groupe", "nom", "population", etc...Mon problème est que tous les lignes de la colonne "gro probleme requete dans formulaire de recherche [ par aureliemerlin ] bonjour, j'ai un formulaire de recherche qui me permet de trouver des enregistrements selon le critère sélectionne mais j'ai un problème avec ma requ problem de slach venant l'or de l'affichage de méthode get [ par mammou22 ] b soir tt le monde, j'ai un grande problème et je suis débutant dans le domaine de php alors le problème c lorsque j'envois une donné a laide de url Faire un update sql sur plusieurs ligne avec un formulaire [ par Bxapero ] Bonjour, Je créer un logiciel pour la société que je monte, je suis bloqué pour faire un update a partir d'un formulaire générer en php. Je ne sais


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales