[PHP/MySQL] Suivant AutoIndex

Suivant AutoIndex [PHP/MySQL] - PHP - Programmation

Marsh Posté le 05-01-2003 à 01:59:12    

Soit dans une table, un champ id en 'auto_increment'.
Peux t'on savoir quel va être l'id d'un enregistrement avant son ajout par une requète 'INSERT INTO ...' ?  
 
Une piste, phpMyAdmin 2.3.2 me sort un truc intéressant : Suivant Autoindex x (et c'est exactement ce que je voudrais).  J'ai vainement tenté de trouver comment il le sortait mais j'ai du me perdre dans toutes ses fonctions persos :(

Reply

Marsh Posté le 05-01-2003 à 01:59:12   

Reply

Marsh Posté le 05-01-2003 à 02:18:42    

Je viens de fouiller dans les fichiers de phpMyAdmin et je pense avoir trouvé :
 

$res = mysql_query("SHOW TABLE STATUS LIKE 'le_nom_de_ta_table'" );
$table = mysql_fetch_array($res);


 
$table['Auto_increment'] est ainsi la valeur que tu recherches.
 
http://dev.nexen.net/docs/mysql/an [...] STATUS.php pour plus d'infos. La requête renvoie par là même pas mal d'autres infos.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-01-2003 à 02:49:30    

Impec merci :)
 
Y a t'il un moyen de ne n'avoir que 2 lignes de code ?
un truc du style
$res = mysql_query("SHOW TABLE STATUS LIKE 'le_nom_de_ta_table'" );  
$next_id = mysql_fetch_array($res)['Auto_increment'] <- tu vois le genre
 
Est-ce qu'une telle idée est possible ? (plus par curiosité que par besoin)
 
Merci encore :hello:


Message édité par _Raynor_ le 05-01-2003 à 02:57:57
Reply

Marsh Posté le 05-01-2003 à 04:56:49    

Code :
  1. $next_id = mysql_fetch_array(mysql_query("SHOW TABLE STATUS LIKE 'le_nom_de_ta_table'" ))['Auto_increment'];


 

Code :
  1. $arr = mysql_fetch_array(mysql_query("SHOW TABLE STATUS LIKE 'le_nom_de_ta_table'" ))
  2. $next_id = $arr['Auto_increment'];


 
 
avec une nette preference pr le premier   :pfff:  
[:psywalk]  

Reply

Marsh Posté le 05-01-2003 à 05:47:53    

Je vois.... :)
 
Moi aussi le premier me plait. Merci  :hello:

Reply

Marsh Posté le 05-01-2003 à 10:55:45    

beleg a écrit :

Code :
  1. $next_id = mysql_fetch_array(mysql_query("SHOW TABLE STATUS LIKE 'le_nom_de_ta_table'" ))['Auto_increment'];


 

Code :
  1. $arr = mysql_fetch_array(mysql_query("SHOW TABLE STATUS LIKE 'le_nom_de_ta_table'" ))
  2. $next_id = $arr['Auto_increment'];


 
 
avec une nette preference pr le premier   :pfff:  
[:psywalk]  
 


 
Il me semble que la première solution provoque une Parse Error (pas la seconde). PHP n'a pas l'air d'apprécier les crochets après autre chose qu'une variable :heink:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 05-01-2003 à 13:27:35    

bien possible, mais jallais pas testé un truc aussi inutile que tt ecrire sur 1 seule ligne ...  :lol:  la seconde est ok.

Reply

Sujets relatifs:

Leave a Replay

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