Aller au contenu

Obtenir la valeur d'un Champ rapidement


Sujets conseillés

Posté

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 !

Posté

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 ;)

Posté

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.

Posté

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.) ;)

Posté

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 LIMIT

Bien vu aspeum ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...