Page 1 sur 1

Maintenir une valeur...

Posté : 04 mars 2008, 15:13
par albius
Bonjour,

Je dispose d'un formulaire équipé de deux listes déroulantes et d'un simple champs. Une de ces fonctions est de pouvoir modifier des enregistrements compris dans des tables.
le souci se situe au tout premier niveau de ces listes déroulantes puisque la première étiquette est dépourvue de valeur :

Code : Tout sélectionner

<option selected="selected" value="">
Si j'effectue ma requête de modification, sans pour autant avoir choisi une valeur précise dans ces listes, les champs correspondants respectivement à celles-ci se retrouvent avec une valeur à zéro! Pas bon... Comment faire dans ce cas pour dire que si Varliste1 (ou Varliste2) ="", je ne touche pas (dans la requête) au champs correspondant...
merci,

Posté : 04 mars 2008, 15:22
par Ryle
Construit ta requête dynamiquement en concatenant de manière conditionnelle plusieurs chaines, contenant chacune une partie du code à exécuter :
$sql = "UPDATE ma_table SET";
$sql.= " mon_champ = 'ma_valeur' ";
if ($Varliste1 != '') 
  $sql.= ", champ_liste_1 = '".$Varliste1."'";
if ($Varliste2 != '') 
  $sql.= ", champ_liste_2 = '".$Varliste2."'";
$sql.= " WHERE ... ";
Bon, le code est à adapter, mais cela peut déjà te donner une idée de la façon de procéder :)

re:

Posté : 05 mars 2008, 12:57
par albius
Alors ça, force de constater que c'est très fort!! j'avais déjà vu des requêtes découpées et je me demandais bien à quoi ça pouvait servir. J'ai maintenant la réponse...
merci Ryle!