Ik wil dus o.a dat in mijn pics het nr van de hoogste id uit de db zit, die staat dus op auto_increment dus gaat stijgt vanzelf mee. Ik weet dat je met mysql_insert_id de laatste ID eruit kan halen, maar dat werkt alleen maar als je eerst wat in de DB stopt.

Ik maak nu met een random getal iets aan wat ik als filename gebruik en dan in DB stop. Daarna zou ik dan dus de hoogste ID weten maar omdan die file te gaan renamen en vervolgens de data in de DB te gaan bijwerken is ook een beetje omslachtig.

Dus is er een manier om de hoogste ID te weten te komen zonder ook daadwerkelijjk eerst iets in de DB gezet moet worden?
Omgekeerd de laatste waarde ophalen.. :)

SELECT kolom
FROM tabel
ORDER BY id DESC
LIMIT 0,1

Elwin
En als het geen int is ??
SELECT MAX(id) FROM tabel
Krijg nu inderdaad in een variable de hoogste ID uit de tabel, maar nu moet die variable nog met 1 worden verhoogt.

Het lijkt zo simpel maar krijg het toch niet helemaal voor elkaar

<?php
$query = "SELECT MAX(pic_id) FROM travel";
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($result,MYSQL_NUM))
{
echo "$row[0]"; // dit laat dus de juiste waarde zien...
}
$file_number = $row[0] + 1;
?>

De $file_number is dus de waarde van de bestaande hoogste waarde in de DB en niet met +1 verhoogd zoals het zou moeten.
En als je niet + 1 doet, is $filenumber dan 1 lager dan wat het zou moeten zijn?

Dat zou ik heel raar vinden en ik weet dan ook niet wat je daar aan kunt doen. Als $filenumber in dat geval gewoon de maximale waarde is, doet die +1 het blijkbaar niet (wat ook raar is) en dan kun je misschien proberen om 1 + $row[0] te schrijven ofzo...

Maar waarom moet je deze waarde trouwens hebben? Ik heb zo het vermoeden dat je hem wilt gebruiken om een nieuwe pic in de db te zetten. Als dat zo is, moet je gewoon even zorgen dat de kolom pic_id op auto-increment staat en dan kun je gewoon nieuwe dingen toevoegen en dan wordt pic_id automatisch 1 hoger in die nieuwe tabelrij.

Reageren