Phénol Posté 27 Février 2007 Partager Posté 27 Février 2007 Bonjour, Je cherche un moyen plus simple que mon procédé (ci-dessous) de récupérer la valeur d'un champs... $sql = mysql_query("SELECT nom FROM utilisateurs WHERE id='1'");$row = mysql_fetch_array($sql);echo $row['nom']; Sachant qu'il n'y aura qu'un enregistrement répondant à l'id unique '1', y'a-t-il un moyen plus simple d'arriver à obtenir la valeur du champs 'nom' plus facilement qu'avec ce procédé ? Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
TheRec Posté 27 Février 2007 Partager Posté 27 Février 2007 Bonsoir, Si par plus simple tu veux dire plus court tu peux faire ainsi : echo mysql_result(mysql_query("SELECT nom FROM utilisateurs WHERE id='1'"),0,0); Le deuxième "0" (troisième paramètre) n'est pas nécessaire, il sert à définir le champ à retourner, mais comme tu n'en as qu'un et que c'est celui que tu veux retourner ce paramètre est facultatif... je le mets par pure habitude Sinon, non pour obtenir la valeur d'un champ pour un enregistrement donné, rien de plus efficace qu'une requête sur la table où se trouve l'information recherchée Lien vers le commentaire Partager sur d’autres sites More sharing options...
Phénol Posté 27 Février 2007 Auteur Partager Posté 27 Février 2007 Merci ! Et si je veux récuprer 2 champs (nom et prenom par exemple), comment adapter cela ??... Lien vers le commentaire Partager sur d’autres sites More sharing options...
TheRec Posté 27 Février 2007 Partager Posté 27 Février 2007 Tu pourrais le faire ainsi : $result = mysql_query("SELECT nom, prenom FROM utilisateurs WHERE id='1'");echo mysql_result($result,0,0).mysql_result($result,0,1); **EDIT** J'ai supprimé une partie de mon message...qui ne te servait pas vraiment. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Phénol Posté 27 Février 2007 Auteur Partager Posté 27 Février 2007 Impec ! Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
TheRec Posté 27 Février 2007 Partager Posté 27 Février 2007 De rien, mais rien ne t'empêche d'utiliser mysql_fetch_array comme tu le fais dans le premier exemple. L'utilisation de ressources supplémentaires est négligeable à mon avis (allocation d'un tableau et accès aux données par un index). Tu recherches la syntaxe "la plus simple", mais il faudrait définir cette expression (Celle qui utilise le moins de ressources, celle qui rend le code plus lisible, etc.) Lien vers le commentaire Partager sur d’autres sites More sharing options...
aspeum Posté 2 Mars 2007 Partager Posté 2 Mars 2007 Est-ce que rajouter "LIMIT 1" à la fin de la requête n'accélèrerait pas un tantinet l'opération ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
TheRec Posté 2 Mars 2007 Partager Posté 2 Mars 2007 C'est juste. Il y a une liste des cas ou LIMIT optimise les requêtes SELECT : Aussitôt que MySQL a envoyé les premières # lignes au client, il annule le reste de la requête (si vous n'utilisez pas la fonction SQL_CALC_FOUND_ROWS).Source: 7.2.12 Comment MySQL optimise LIMITBien vu aspeum Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant