hoogste id uit db halen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bram

Bram

24/09/2006 18:15:00
Quote Anchor link
Hallo,

Is het mogenlijk om het hoogste id nummer uit een database te halen en daar dan een nummer bij op te tellen en deze in een php script als echo terug te geven.

en als dit mogenlijk is heeft iemand dan ook een voorbeeld?
Gewijzigd op 01/01/1970 01:00:00 door Bram
 
PHP hulp

PHP hulp

28/11/2024 02:54:56
 
Stefan van Iwaarden

Stefan van Iwaarden

24/09/2006 18:16:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "SELECT MAX(id) FROM tabel";
?>
 
Bram

Bram

24/09/2006 18:29:00
Quote Anchor link
nee werkt niet goed geeft Resource id #21 terug terwijl er nu momenteel maar 7 id's zijn in die database tabel.

en hoe kan ik er dan nog een bij op tellen
 
Frank -

Frank -

24/09/2006 18:33:00
Quote Anchor link
Wanneer je de query uitvoert, krijg je altijd een resource id retour. Vervolgens ga je fetchen met bv. mysql_fetch_assoc() om de gegevens daadwerkelijk beschikbaar te krijgen in je php-code. Sla de php-handleiding er eens op na of kijk eens tussen de tutorials hoe je met de opgehaalde gegevens iets kunt doen.
 
Bram

Bram

24/09/2006 18:46:00
Quote Anchor link
oke ik krijg nu doormiddel van fetchen met mysql_fetch_assoc() netjes het hoogste id terug hoe is het dan mogenlijk om bij dit getal een bij op te tellen?

alvast bedankt
 
Bram

Bram

24/09/2006 19:00:00
Quote Anchor link
ik ben er al uit was wel simpel eigenlijk :-)
 
Stefan van Iwaarden

Stefan van Iwaarden

24/09/2006 19:01:00
Quote Anchor link
als het goed is zou dit moeten kunnen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "SELECT MAX(id)+1 FROM tabel";
?>
 
Bram

Bram

24/09/2006 19:02:00
Quote Anchor link
$query = "SELECT MAX(id) + 1 FROM tabel";
 
Kalle P

Kalle P

24/09/2006 19:03:00
Quote Anchor link
misschien dat dit werkt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while($row = mysql_fetch_assoc()){
       $row['id'] = array_reverse($row['id']);
       echo row['id'][0];
}

?>
 
Frank -

Frank -

24/09/2006 19:04:00
Quote Anchor link
Wat wil je met dit nieuwe nummer gaan doen? Toch niet om hiermee een nieuw record aan te maken? Dat gaat namelijk gegarandeerd verkeerd! Dat laat je door de database doen (auto_increment) en doe je nooit en te nimmer met de hand (al dan niet via een script).
 
Bram

Bram

24/09/2006 19:13:00
Quote Anchor link
@Frank

eigenlijk is dat dus wel de bedoeling

om dat als ik iets uit de database verwijder en ik later weer een nieuwe record aan maak niet door telt vanaf het hoogte id nummer wat er momenteel in de database staat maar van af de hoogste id nummer die er ooit in deze tabel heefd gestaan.
 
Stefan van Iwaarden

Stefan van Iwaarden

24/09/2006 19:15:00
Quote Anchor link
dat moet je dus inderdaad zoals Frank zegt niet doen, ik weet niet wat de reden hiervan is, maar de database geeft er niets om wat voor id er staat.

Het id gebruik je over het algemeen als uniek nummer dat bij een record hoort om zo snel een record op te kunnen vragen.

Ben dan ook benieuwd naar de reden waarom.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Klaasjan Boven

Klaasjan Boven

24/09/2006 19:18:00
Quote Anchor link
Bram:
@Frank

eigenlijk is dat dus wel de bedoeling

om dat als ik iets uit de database verwijder en ik later weer een nieuwe record aan maak niet door telt vanaf het hoogte id nummer wat er momenteel in de database staat maar van af de hoogste id nummer die er ooit in deze tabel heefd gestaan.


En wat is het probleem daarvan?
 
Frank -

Frank -

24/09/2006 19:27:00
Quote Anchor link
Bram:
@Frank

eigenlijk is dat dus wel de bedoeling

om dat als ik iets uit de database verwijder en ik later weer een nieuwe record aan maak niet door telt vanaf het hoogte id nummer wat er momenteel in de database staat maar van af de hoogste id nummer die er ooit in deze tabel heefd gestaan.
Dit is de juiste weg om een gigantische berg problemen te creeeren...

Het id betekent helemaal niets! Echt helemaal niets. Daar ken je dus ook geen enkele betekenis aan toe. Je gebruikt het uitsluitend om unieke records te kunnen herkennen, meer doe je er niet mee. Of er nu nummer 167 of 1683759 in staat, het zal je een rotzorg zijn, het heeft geen enkele betekenis. Maar, omdat de diverse tabellen een verband met elkaar hebben wat meestal op het id is gebaseerd moet je dit nummer dus overal gebruiken. En dat is ook de reden dat je niet met de hand een nummertje moet gaan invoeren, dat kan alleen maar fout gaan. Bv. op het moment dat 2 verschillende scripts of gebruikers op hetzelfde moment hetzelfde nummer gaan invoeren. Dan ben je een corrupte database rijker... Laat de database dit lekker zelf uitzoeken met auto_increment. Dat gaat altijd goed.

En jij blijft met je vingertjes van de auto_increment en de id's af... ;)

Succes!
 



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.