28. juli 2004 - 17:04Der er
6 kommentarer og 1 løsning
Id numre, delt op i flere dele.
Jeg er igang med at lave en database som skal rumme nogle forskellige informationener. Det hele fungere egentlig fint nok jeg har bare et lille problem. Jeg vil gerne have at hver enkelt række i min tabel har et id-nummer.´Jeg har valgt at lave idnummeret sådan her: 00002-04
de fire første sifre (dem før -'en) er bare et nummer som for hver tilføjelse skal stige en gang. og de to tal efter -'en er årstallet. Men hvordan laver jeg det ?
*Den samme tabel som skal indeholde id-numrene indeholder også dato'er for hvornår en ting er blevet tilføjet, men hvis man tilføjer flere ting på en dag vil den jo tage den row der først er blevet tilføjet på den nærmeste dag,, (skriv bare hvis der er noget i er i tvivl om.)
Det skal bruges til indsættelsen af informationen fra en form.
det kommer vel an på hvor mange ting der bliver tilføjet til databasen. Hvis jeg undlader "-04" delen vil jeg højst kunne tilføje 99999 til tabellen i hele dens levetid, mens at jeg med nummer-år vil kunne tilføje 99999 pr. år.
PS: "de fire første sifre (dem før -'en)" jeg mener selvfølgelig fem.
Jeg mener, hvorfor ikke bruge en mysql autonumber int(10) der burde være riiiigeligt numre at tage af dér ;) Og så evt. bare præsentere dem med sprintf( "%05d", $id ); eller noget, så vil id 10 se sådan ud: 00010 og overstiger den 99999 bliver den bare større... Tro mig, du gør det meget nemmere for dig selv ;)
CREATE TABLE `dintabel` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,`navn` VARCHAR (50) NOT NULL ,PRIMARY KEY(`id`) );
Nu vil en statement som INSERT INTO dintabel SET navn = 'hejsa'; generere en unik ID. Hvis du vil, kan du få fat i den lige efter din insert med mysql_insert_id();
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.