Avatar billede Slettet bruger
07. august 2003 - 13:26 Der er 17 kommentarer og
1 løsning

Select'e højeste id og plus 1

Hvordan får jeg højeste id fra en tabel og plusser det tal med 1?

Eks.: Højeste id er 66 og jeg skal altså så bruge resultatet 66+1=67

Jeg har skrevet flg., men det virker ikke:

$sql = mysql_result(mysql_query('SELECT MAX(supp_id) FROM supp'));
{
$img = $sql+1;

På forhånd tak for hjælpen
Avatar billede proaccess Nybegynder
07. august 2003 - 13:28 #1
'SELECT MAX(supp_id)+1 FROM supp'
Avatar billede arne_v Ekspert
07. august 2003 - 13:35 #2
Vigtigt: du kan ikke bruge denne metode til at generere unikke
id's med. Det virker ikke i en fler bruger sammenhæng.
Brug auto increment felt i.s.f. (og evt. last_insert_id()
til at hente det med).
Avatar billede Slettet bruger
07. august 2003 - 13:52 #3
$sql = "SELECT LAST_INSERT_ID(supp_id)+1 FROM supp";
$img=mysql_query($sql);
{

giver mig resultatet "Resource id #4" !?
Avatar billede Slettet bruger
07. august 2003 - 13:54 #4
$sql = mysql_result(mysql_query('SELECT MAX(supp_id)+1 FROM supp'));
{

giver mig fejlen "PHP Warning: Wrong parameter count for mysql_result() in ..."
Avatar billede erikjacobsen Ekspert
07. august 2003 - 13:56 #5
$sql = mysql_result(mysql_query('SELECT MAX(supp_id)+1 FROM supp'),0);
Avatar billede erikjacobsen Ekspert
07. august 2003 - 13:57 #6
Men hvad skal du bruge det til?
Avatar billede Slettet bruger
07. august 2003 - 14:01 #7
Idet jeg tilføjer nogle data til en tabel bliver uploades der også et billede. Det billede skal så have filnavnet "supp_id".jpg. På den måde får alle de uploadede billeder samme navn som tilhørende datas id.
Avatar billede erikjacobsen Ekspert
07. august 2003 - 14:04 #8
arne_v's forslag lyder som en meget bedre idé
Avatar billede Slettet bruger
07. august 2003 - 14:10 #9
Der bliver aldrig mere end een bruger der uploader/tilføjer ad gangen, og så er det vel i orden at bruge "$sql = mysql_result(mysql_query('SELECT MAX(supp_id)+1 FROM supp'),0);" !? Det virker nemlig fint!
Avatar billede Slettet bruger
07. august 2003 - 14:15 #10
Første tilføjelse til tabellen giver intet resultat, først anden gang fås resultatet "2" som forventet, og trejde gang "3" osv. !?
Avatar billede erikjacobsen Ekspert
07. august 2003 - 14:19 #11
"Der bliver aldrig mere end een bruger ..." siger du i dag. Arnes løsning
er både hurtigere, nemmere og fremtidssikret.
Avatar billede Slettet bruger
07. august 2003 - 14:21 #12
Helt rigtigt, men jeg kan ikke få flg. til at virke:

$img = mysql_result(mysql_query('SELECT LAST_INSERT_ID(supp_id)+1 FROM supp'),0);
{
Avatar billede erikjacobsen Ekspert
07. august 2003 - 14:26 #13
Du skal ikke lægge én til.

Lav din insert i din tabel (med autoincrement), og derefter spørger du
hvad nummer den fik med "SELECT LAST_INSERT_ID()" - eller direkte i PHP

  $id = mysql_insert_id();
Avatar billede Slettet bruger
07. august 2003 - 14:36 #14
OK, nu har jeg fattet den! ;-) Mange gange tak til jer alle! Points må gå til både arne_v og ericjacobsen (men så skal jeg lige have svar)
Avatar billede Slettet bruger
07. august 2003 - 14:37 #15
ericjacobsen = erikjacobsen (sorry!)
Avatar billede arne_v Ekspert
07. august 2003 - 14:39 #16
svar
Avatar billede erikjacobsen Ekspert
07. august 2003 - 14:42 #17
glem bare mig;)
Avatar billede Slettet bruger
07. august 2003 - 14:44 #18
Tak!
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