Creation liste deroulante multicolonne

cs_tomcat30 Messages postés 2 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 26 février 2009 - 26 févr. 2009 à 15:36
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 26 févr. 2009 à 23:31
Bonjour,
j'ai une table MySQL 

client

qui possède les colonnes

projet , nom, prenom





je souhaite créer une liste déroulante qui affiche le nom et prénom des clients selon une valeur projet passée en variable (valeur en variable ça fonctionne )

Ce qui ne marche pas : pour l'instant, je ne sais afficher que le nom dans ma liste déroulante, j'aimerai avoir le prénom + le nom...voici mon code actuel :




function custom_function_default_enum_
project
() {
$my
project
= helper_get_current_
project
();

$sql= "SELECT nom,prenom
      FROM client where projet = $
myproject


";
   
$query=mysql_query($sql); 
$t_enum = array();

while($row=mysql_fetch_array($query)){
  $t_enum[] = $row['nom'] ;  
 }
    $t_possible_values = implode( '|', $t_enum );   
    return $t_possible_values;
}




Merci d'avance ,

4 réponses

cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
26 févr. 2009 à 15:40
Dans ta boucle tu n'as cas concaténer le prénom avec le nom :

while($row= mysql_fetch_array($query)){
  $t_enum[] = $row['nom'] ." ". $row['prenom'] ;  
 }
    $t_possible_values = implode( '|', $t_enum );   
    return $t_possible_values;
}
0
cs_tomcat30 Messages postés 2 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 26 février 2009
26 févr. 2009 à 16:21
Ok merci c'est exactement ce que je cherchais mais je ne connaissait pas la syntyaxe
0
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
26 févr. 2009 à 16:26
Pense a cliquer sur "Résolu" a coté du message qui t'a aidé ... Merci
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
26 févr. 2009 à 23:31
Hello,

Il existe une autre méthode : directement dans le SQL. (Il fat utiliser la fonction SQL (Oracle, MySQl, et SQL Serv) CONCAT(str1, str2, str3, ...) )

Par exemple :

function custom_function_default_enum_project ()
{
  $myproject = helper_get_current_project();
  $sql = 'SELECT CONCAT(CONCAT(nom, " "), prenom) nom_prenom myproject . '" ';
   
  $query = mysql_query($sql) or die(mysql_error());
  // le or die(mysql_error()) est bien souvent utile pour débuguer ;)
  $t_enum = array();

  while(  $row = mysql_fetch_array($query) ){
    $t_enum[] = $row[' nom_prenom '] ;  
  }
 
  $t_possible_values = implode( '|', $t_enum );   
  return $t_possible_values;
}

Voila ^^
J'ai donc Concatener les variables (on peut normalement écrire CONCAT(nom, ' ', prenom) ... mais tout dépend des versions et des systèmes ...). Ensuite j'ai renommer en nom_prenom grâce au AS.
<hr />Si ma reponse te convient, merci de l'accepter ! 
0
Rejoignez-nous