[php] [mysql] max en auto_increment

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo mensen,

Ik zou graag wat advies van jullie hebben.
Ik gebruik de volgende code om de aankomende ID te krijgen uit mijn tabel:

PHP:
1
2
$maxtID = mysql_result(mysql_query("SELECT MAX(tID) FROM ttabel"),0);
$newtID = $maxtID + 1;


Dus als ik de ID 1,2 en 3 al in mijn database heb krijgt de variabele $newtID de waarde '4'.

Ik gebruik dit bijvoorbeeld bij een upload script voor afbeeldingen. De afbeeldingen wil ik dan opslaan met de naam '$newtID'. Dit wordt dus heel netjes gewoon b.v 4.jpg.

Alleen zit ik nu dus met de 'auto_increment' van mysql. Als ik een paar keer wat record heb verwijderd slaat mijn database bijvoorbeeld de nieuwe record niet als '4' op maar als '9'. Dus dan heb ik in mijn database:

ID
1
2
3
9

Maar mijn foto heeft nog steeds de naam 4.jpg en niet 9.jpg

Iemand een advies hoe ik dit anders kan oplossen??

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

mysq_insert_id gebruiken... :) Of een aparte auto_increment kolom gebruiken.

[ Voor 21% gewijzigd door RedRose op 26-03-2004 11:50 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

ik heb er een kleine functie voor geschreven..
en die gebruik ik sindsdien..
PHP:
1
2
3
4
5
function get_new_id($table) {
    
  $table_status = mysql_fetch_object(mysql_query("SHOW TABLE STATUS LIKE '{$table}'"));
  return $table_status->Auto_increment;
}