Hoogste ID

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas D

Thomas D

12/10/2007 17:32:00
Quote Anchor link
Kun je uit een database onmiddellijk het hoogste id halen met een query?

Thx,
Tomate
 
PHP hulp

PHP hulp

23/11/2024 14:49:24
 
Frank -

Frank -

12/10/2007 17:37:00
Quote Anchor link
Een id heeft geen betekenis, de hoogste waarde is dus totaal niet interessant. Er bestaat geen hoogste waarde. 37593 is net zo hoog als 57394 of 2783.

Een id maakt het eenvoudig om een uniek record aan te wijzen, niet meer en niet minder.

Wanneer je wilt weten wanneer het laatste record is aangemaakt, zet je een datumtijdstempel (DATETIME) in je tabel. Op basis daarvan kun je eenvoudig (met MAX() ) het laatste record ophalen.

De eerste de beste die roept dat een id wel een betekenis heeft, mag zich melden bij de afdeling kunstmatige intelligentie. Daar kan hij/zij wel wat van gebruiken... ;)
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
GaMer B

GaMer B

12/10/2007 17:38:00
Quote Anchor link
Of je gebruikt in je query: ORDER BY id DESC LIMIT 1
 
Harry

Harry

12/10/2007 17:39:00
Quote Anchor link
Zeker, met SELECT FROM tabel ORDER BY id DESC LIMIT 1
 
Frank -

Frank -

12/10/2007 17:39:00
Quote Anchor link
GaMer13 schreef op 12.10.2007 17:38:
Of je gebruikt in je query: ORDER BY id DESC LIMIT 1
ORDER BY id DESC kun je weglaten, er is geen hoogste of laagste. Een id heeft geen betekenis en dus geen hoogte.
 
Harry

Harry

12/10/2007 17:40:00
Quote Anchor link
OH sorry die stond er al... nou dan moet ie wel kloppen...
 
Frank -

Frank -

12/10/2007 17:41:00
Quote Anchor link
Harry schreef op 12.10.2007 17:40:
OH sorry die stond er al... nou dan moet ie wel kloppen...
Niet dus, het is de grootste onzin.
 
Harry

Harry

12/10/2007 17:42:00
Quote Anchor link
Dat ligt er aan, ik gebruik id altijd als een gegenereerd nummer, dan wordt hij steeds hoger en de hoogste is de laatste...
 
GaMer B

GaMer B

12/10/2007 17:44:00
Quote Anchor link
Ja, dat is het hem nou juist... Wat bedoelt de topic starter? Een kolom? Dan kun je die kolom dus sorteren van hoog naar laag en de eerste (LIMIT 1) er van uit halen. Ik snap niet echt wat het probleem is/hoe jij er tegen aan kijkt Frank :S
 
Frank -

Frank -

12/10/2007 17:47:00
Quote Anchor link
Harry schreef op 12.10.2007 17:42:
Dat ligt er aan, ik gebruik id altijd als een gegenereerd nummer, dan wordt hij steeds hoger en de hoogste is de laatste...
Ga maar eens een backup intergreren met de huidige stand van zaken, dan zul je zien dat dit niet meer klopt.

Nogmaals, een id heeft geen enkele waarde! Ken die er dan ook niet aan toe, het zegt helemaal niks over volgordes, ouderdom of wat dan ook. Een id is niks.
 
Thomas D

Thomas D

12/10/2007 19:23:00
Quote Anchor link
pgFrank schreef op 12.10.2007 17:37:
...

Wanneer je wilt weten wanneer het laatste record is aangemaakt, zet je een datumtijdstempel (DATETIME) in je tabel. Op basis daarvan kun je eenvoudig (met MAX() ) het laatste record ophalen.

...


Klopt dit scriptje dan?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$qSelect_berichten = mysql_query('SELECT * FROM `forumreplys` WHERE datum=MAX()') or die (mysql_error());
    while($aBerichten = mysql_fetch_array($qSelect_berichten))
 
Stefan van Iwaarden

Stefan van Iwaarden

12/10/2007 19:27:00
Quote Anchor link
nee, je moet hebben
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("SELECT * FROM forumreplys ORDER BY datum DESC LIMIT 1");
?>


Let op, datum dient wel een date of datetime kolom te zijn.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Harry

Harry

13/10/2007 10:05:00
Quote Anchor link
Stefan van Iwaarden schreef op 12.10.2007 19:27:
nee, je moet hebben
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("SELECT * FROM forumreplys ORDER BY datum DESC LIMIT 1");
?>


Let op, datum dient wel een date of datetime kolom te zijn.


Op deze manier doe je het nog steeds zoals boven geopperd, nl met LIMIT, maar wanneer je het met MAX() wil doen krijg je:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$LaatsteToevoeging
= MAX( mysql_query("SELECT DateTimeKolom FROM forumreplys") );

// even uit m'n hoofd zonder testje ;-)
?>

[\code]

Maaaarrrrr.... reagerend op de bovenstaande afkeuring van id...
Ik gebruik vaak date("U) als id variabele en kan op deze wijze zowel een uniek id als de laatste toevoeging ophalen.
Gewijzigd op 01/01/1970 01:00:00 door Harry
 
Joren de Wit

Joren de Wit

13/10/2007 11:56:00
Quote Anchor link
Harry, die query klopt sowiezo niet. MAX() moet je in dit geval wel als functie van MySQL gebruiken...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT MAX(datum) AS hoogste
FROM tabel
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Mark L

Mark L

13/10/2007 11:59:00
Quote Anchor link
Ik denk dat pgFrank toch de SQL-functie MAX() bedoelt.

Edit:

Blanche was me voor...
Gewijzigd op 01/01/1970 01:00:00 door Mark L
 
Harry

Harry

13/10/2007 18:47:00
Quote Anchor link
Jullie hebben gelijk, dat lijkt mij achteraf ook... :-p
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.