nan me frappez pas!!

Répondre
romeofi05
le 06/01/2004 à 12:12
romeofi05
euhh coucou j'ai trop honte de ma question là en plus c juste par flemme de pas rechercher dans la doc alors... mais quand même : comment on fait pour obtenir la dernière ligne entrée dans une base de donnée svp ???
I say the hip, the hop, the hippy to the hip-hop, till you don't stop
LA GLOBULE
le 06/01/2004 à 12:15
LA GLOBULE
Une base de données n'est pas "ordonnée" en soit : toutes les lignes sont de meme types, y'a pas de premiere ou de dernier smiley

Par contre, si tu cherches la ligne ou l'id est le plus grand, fais une requete du genre :

SELECT toto FROM table ORDER BY id DESC LIMIT 1
romeofi05
le 06/01/2004 à 12:17
romeofi05
arrete ! jte crois pas !!! lol j'avais cru me souvenir qu'il y avait une requête du genre "dernière ligne entrée"

sérieux y'en a pas ??? c abuséé !!!!!
I say the hip, the hop, the hippy to the hip-hop, till you don't stop
lecritiqueux
le 06/01/2004 à 23:38
lecritiqueux
va dans la documentation de MySQL
www.mysql.com

tout y est
c'est qqch comme
mysql_insert_id() si je me souviens bien
va voir
Étranger, si tu aimes programmer en PHP, t'as trouvé ton chemin, mais si t'es lent à dégainer alors,
LA GLOBULE
le 07/01/2004 à 00:32
LA GLOBULE
mysql_insert_id(), c'est une fonction PHP.

Cette fonction retourne l'id du dernier élément inséré dans une BD, et ce dans le script courant.

En clair, si tu ne fais pas un INSERT avant (donc dans la meme page), mysql_insert_id ne retournera rien.

En effet, la doc PHP est claire :

mysql_insert_id() retourne le dernier identifiant généré par un champ de type AUTO_INCREMENT, sur la connexion MySQL courante, ou bien sûr la connexion spécifiée par link_identifier. Si link_identifier est omis, la dernière connexion ouverte est utilisée.

mysql_insert_id() retourne 0 si la dernière requête SQL n'a pas généré de valeur AUTO_INCREMENT. Si vous devez lire cette valeur pour la conserver et l'utiliser ultérieurement, appelez la fonction mysql_insert_id() juste après l'exécution de la requête, pour obtenir cette valeur non parasitée.


J'insiste sur le fait que l'insertion doit se faire dans le script courant (la meme connexion à MySQL en fait) : en clair, si tu fais ton insert et que tu passes sur une autre page, mysql_insert_id ne fonctionnera pas.
romeofi05
le 07/01/2004 à 09:11
romeofi05
donc ce que tu est en train de me dire c que je peux pas obtenir ma dernière ligne insérée (n'importe quand, pas dans la page courante) ???
c la merde alors !!! jsuis foutu
I say the hip, the hop, the hippy to the hip-hop, till you don't stop
LA GLOBULE
le 07/01/2004 à 10:22
LA GLOBULE
Si tu peux, mais faut le faire dans la meme page que ton INSERT.

Ou alors, il faut faire une requete comme dans mon post précédent.
romeofi05
le 07/01/2004 à 10:27
romeofi05
ok oui oui un ptit ordre décroissant...
ben ça me scie ça quand meme j'étais sur qu'il y avait une requete du genre last_inserted ou qque chose comme ça !
I say the hip, the hop, the hippy to the hip-hop, till you don't stop
LA GLOBULE
le 07/01/2004 à 10:32
LA GLOBULE
Oui ca existe.

Mais ca fonctionne que si tu as fait ton INSERT dans la meme page (page ou tu fais ton mysql_insert_id).
romeofi05
le 07/01/2004 à 10:38
romeofi05
oui oui c bien ce que tu disais auparavant
ben merde jsuis foutu alors !

n'empêche en faisant un select de toutes les lignes (même seulement de la colonne "id"), ça fait pas mal de mémoire utilisée tout ça pour peu que ta table soit imposante !

alors kun "last_inserted" ça prend que la dernière c quand meme plus léger !!!!

ils devraient l'inventer cette requete
I say the hip, the hop, the hippy to the hip-hop, till you don't stop
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours