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

Signaler
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
-
Messages postés
12
Date d'inscription
mercredi 3 août 2005
Statut
Membre
Dernière intervention
26 avril 2009
-
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

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
1
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
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
1
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
Messages postés
12
Date d'inscription
mercredi 3 août 2005
Statut
Membre
Dernière intervention
26 avril 2009

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>