[php] obtenir le dernier numero d'id

obtenir le dernier numero d'id [php] - Programmation

Marsh Posté le 09-08-2001 à 11:33:16    

salut:  
une question en apparence simple mais ej trouve pas comment faire:
j'ai une table, avec un numéro d'id . je voudrais pouvoir recuperer le dernier numéro d'id, pour pouvoir créer l'entrée suivante avec une id = idmawx+1
 :spookie:


---------------
When in doubt.... reboot
Reply

Marsh Posté le 09-08-2001 à 11:33:16   

Reply

Marsh Posté le 09-08-2001 à 11:34:43    

je suppose que la solution c'ezst de faire un select id order by id desc limit 0, 1 comme ca je n'ai que l'id dont j'ai besoin, mais ce n'est peut etre pas le plus economique, si?


---------------
When in doubt.... reboot
Reply

Marsh Posté le 09-08-2001 à 11:34:43    

je suppose que la solution c'ezst de faire un select id order by id desc limit 0, 1 comme ca je n'ai que l'id dont j'ai besoin, mais ce n'est peut etre pas le plus economique, si?


---------------
When in doubt.... reboot
Reply

Marsh Posté le 09-08-2001 à 11:41:31    

ca fait que 3 ligne de code ... donc ce n'est pas trop un probleme...

Reply

Marsh Posté le 09-08-2001 à 11:46:03    

ben disons que je trouve dommage de faire une requete sue la base, enfin je sais pas si ya pas une fon ction de mysql ou de php qiu peuvent me donner l'info direct<??? non? si???


---------------
When in doubt.... reboot
Reply

Marsh Posté le 09-08-2001 à 11:55:28    

moi, c'est comme ça que je fait et je vois pas comment faire autrement?  
Pour obtenir des infos d'une BDD, ya pas plus rapide qu'une requète!

Reply

Marsh Posté le 09-08-2001 à 11:57:20    

c vraix, merci.


---------------
When in doubt.... reboot
Reply

Marsh Posté le 09-08-2001 à 12:15:16    

y'a pas de NumeroAuto en MySQL ?
 
parce qu'avec ça pas besoin de connaitre le dernier ID, il le crée direct id+1

Reply

Marsh Posté le 09-08-2001 à 12:17:54    

oui effectivement, mais le probleme c'est que tu ne sais pas forcement quel numéro est attribué.


---------------
When in doubt.... reboot
Reply

Marsh Posté le 09-08-2001 à 14:20:26    

Tu fait une requete select max(id) from....
Ensuite tu recupère le id max en exécutant la requète et en récupérant le résultat. Et enfin, tu ajoute 1 à ce résultat. T'as donc id_max+1. Et tu sais à combien est égal id_max+1, je vois pas pourquoi tu sais pas quel n° est attribué, c'est id_max+1.

Reply

Marsh Posté le 09-08-2001 à 14:20:26   

Reply

Marsh Posté le 09-08-2001 à 14:27:09    

If you insert a record in a table containing a column that has the AUTO_INCREMENT attribute, you can get the most recently generated ID by calling the mysql_insert_id() function.  
 
You can also retrieve the ID by using the LAST_INSERT_ID() function in a query string that you pass to mysql_query().  
 
You can check if an AUTO_INCREMENT index is used by executing the following code. This also checks if the query was an INSERT with an AUTO_INCREMENT index:  
 
if (mysql_error(&mysql)[0] == 0 &&
    mysql_num_fields(result) == 0 &&
    mysql_insert_id(&mysql) != 0)
{
    used_id = mysql_insert_id(&mysql);
}
 
The most recently generated ID is maintained in the server on a per-connection basis. It will not be changed by another client. It will not even be changed if you update another AUTO_INCREMENT column with a non-magic value (that is, a value that is not NULL and not 0).


---------------
All we need is a soul revolution
Reply

Marsh Posté le 09-08-2001 à 14:34:13    

merci


---------------
When in doubt.... reboot
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed