Chercher uniquement la première ligne de résultat d'une requète SELECT

Résolu
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 27 janv. 2009 à 00:13
sppirite Messages postés 12 Date d'inscription mercredi 3 août 2005 Statut Membre Dernière intervention 26 avril 2009 - 31 janv. 2009 à 05:07
Bonjour,
je pense que mon soucis risque de vous paraître stupide, mais s'il perdure encore c'est bien moi qui vais le devenir.

Voilà donc mon pb:

Je cherche à retourner uniquement la première ligne d'une table vérifiant des conditions données, et pour cela, j'aimerais savoir s'il existe une requète me permettant de s'arrêter à cette ligne et stopper ainsi le parcours de la table, et de me retourner aussi le numéro de la ligne.

Je pensais utiliser une requète du style:
$sql1="SELECT prenom,nom FROM la_table WHERE ville='Paris' LIMIT 0,1 ";
    $result1=mysql_query($sql1) or die("Requête SELECT en échec.");

dans l'idée d'obtenir le nom et prénom de la première personne  inscrite dans la table vivant à Paris grâce au LIMIT (qui dans mes rêves me retournait 1 enregistrement répondant à mes conditions à partir de la 1ère ligne de la table).

Mais non, cela ne fonctionne pas.

Je pourrais évidemment lister toutes les personnes vivant à Paris et en déduire la première, mais cela ne me paraît pas très performant (il pourrait y en avoir des dizaines de milliers...).

Merci d'avance pour votre aide et à bientôt.
Signé Sagat

5 réponses

kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
27 janv. 2009 à 06:00
Salut Saga,

qui dans mes rêves me retournait 1 enregistrement
> WHERE ville'Paris' LIMIT 1 ";
Ca devrait être conforme à tes rêves.

Pour ce qui est du numéro de ligne je ne pense pas que ça soit possible sans parcourir tout le reste, ce qui peut, comme tu le dis, être lourd.
Tout dépend de comment est construit ta base, mais ne vaut il pas mieux ajouter un champ "n° ligne" en auto increment ?

Cordialement,

Kohntark -
1
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
27 janv. 2009 à 10:19
Merci kohntark,
je vérifierai ta proposition pour validation entre midi et 2.

Quand à l'idée d'incrémenter le n° des lignes, j'y avais effectivement pensé, mais la suppression d'une seule ligne fausserait le tout (il ne semble pas possible de "décrémenter" automatiquement toutes les lignes suivants celle supprimée).

C'est dommage,je pensais qu'il devait exister la possibilité de savoir sur quel ligne se trouvait la réponse retournée (elle est bizarre cette phrase...).

Et au fait, c SagaT et pas Saga.... non mais!

Merci encore et si certains savent comment aussi retourner en résultat la ligne, merci d'avance.

Signé Sagat
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
27 janv. 2009 à 17:31
Salut SagaT

(désolé pour l'oubli du T )

[...]d'une seule ligne fausserait le tout[...]
Effectivement, si des lignes peuvent être supprimées ça mène plus à une usine à gaz qu'à une solution simple.
Une solution est de compter le nombre de ligne avant ton résultat, mais ça risque d'être lourd.
A qui te sert la récupération du numéro de ligne ? Tu n'as pas moyen de faire autrement ?

Tu devrais peut être ouvrir un nouveau sujet sur ce point (trouver num ligne)

Kohntark -
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
27 janv. 2009 à 21:06
Re,
désolé d'avoir mis du temps pour répondre.

Ta première proposition fonctionne. Merci.
Quant à mon problème de récupération du numéro de ligne, je vais suivre ton conseil et ouvrir un nouveau sujet.
J'utiliserai le système D en attendant de trouver mieux.

Merci pour t'être préocuppé de mon cas.
Bonne continuation.

Signé Sagat
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sppirite Messages postés 12 Date d'inscription mercredi 3 août 2005 Statut Membre Dernière intervention 26 avril 2009
31 janv. 2009 à 05:07
bonjour
désolé si je me parachute dans cette discution mais j'ai vu que vous discuté des probléme de BD
j'ai un trés garnd si il y a quelqu'un qui peux m'aidé merci d'avance
je veux récupéré des information d'une table qui fais 180 enregistrement et je veux seulement aficher 6
l'afichage dans une seule ligne ou une seule colonne et facile
Mais moi je veux tous afichier dans 3ligne et 2colenne,
et je veux pas afiché chaque infis dans une celule maisle résulta de toute la rekéde dans une celule merci d'avance

BENMOUISSA Soufiane PROSOFTR</sup>
0
Rejoignez-nous