Avatar billede danic Nybegynder
03. marts 2003 - 19:57 Der er 3 løsninger

Hjælp til auto_increment

Jeg har en tabel:

CREATE TABLE OrderTabel (
  OrderNr int(11) NOT NULL auto_increment,
  Ordertekst varchar(130) NOT NULL default '',
  PRIMARY KEY  (OrderNr),
  KEY userID (OrderNr)
) TYPE=MyISAM;

Til den tabel har jeg lavet en bestillings formular, ved ny bestilling for orderen automatisk et forløbne OrderNr

Når min order er gennemført, vil jeg gerne vise orderen på skærmen med OrderNr og Ordertekst

Men hvordan finder jeg min bestilling igen ud fra mit unikke OrderNr? formularen kender jo ikke order nummmer endnu?

select * from OrderTabel where ordernr = '$ordernr'
Avatar billede morw Nybegynder
03. marts 2003 - 20:02 #1
Hvis du bruger PHP:

$id = mysql_insert_id();
Avatar billede ahv Nybegynder
03. marts 2003 - 20:04 #2
Du kan hive det sidste ordernr ud af databasen med:

$ordernr = mysql_insert_id();

også kører din:

select * from OrderTabel where ordernr = '$ordernr'
Avatar billede jinxit Nybegynder
03. marts 2003 - 20:06 #3
Benyt MySQL funktionen "LAST_INSERT_ID()" direkte i dit query

SELECT * FROM OrderTabel WHERE ordernr = LAST_INSERT_ID()

Det forudsætter dog at der ikke er indsat endnu en ordre mellem de 2 queries.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester