laatste klantnummer weergeven uit meerdere tabellen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// HAAL AANTAL BEDRIJVEN TABELLEN ID'S OP
$id_bedrijven_categorie = array();
$query_id_bedrijven_categorie = mysql_query("select id from bedrijven_categorieen") or die(mysql_error());
while ($r = mysql_fetch_assoc($query_id_bedrijven_categorie))
{
$id_bedrijven_categorie[] = $r['id'];
}
// Tel hoeveel records er zijn
$id_bedrijven_categorie_aantal = count($id_bedrijven_categorie);
$id_bedrijven_categorie_aantal = $id_bedrijven_categorie_aantal - 1;
for ($i = 0; $i <= $id_bedrijven_categorie_aantal; $i++)
{
$query_select = mysql_query("select max(klantnummer) as hoogste_klantnummer, max(id) as hoogste_id from bedrijven_".$id_bedrijven_categorie[$i]." limit 1") or die(mysql_error());
while ($r = mysql_fetch_assoc($query_select))
{
$hoogste_klantnummer = $r['hoogste_klantnummer'];
$hoogste_id = $r['hoogste_id'];
}
}
$id_bedrijven_categorie = array();
$query_id_bedrijven_categorie = mysql_query("select id from bedrijven_categorieen") or die(mysql_error());
while ($r = mysql_fetch_assoc($query_id_bedrijven_categorie))
{
$id_bedrijven_categorie[] = $r['id'];
}
// Tel hoeveel records er zijn
$id_bedrijven_categorie_aantal = count($id_bedrijven_categorie);
$id_bedrijven_categorie_aantal = $id_bedrijven_categorie_aantal - 1;
for ($i = 0; $i <= $id_bedrijven_categorie_aantal; $i++)
{
$query_select = mysql_query("select max(klantnummer) as hoogste_klantnummer, max(id) as hoogste_id from bedrijven_".$id_bedrijven_categorie[$i]." limit 1") or die(mysql_error());
while ($r = mysql_fetch_assoc($query_select))
{
$hoogste_klantnummer = $r['hoogste_klantnummer'];
$hoogste_id = $r['hoogste_id'];
}
}
select id from jouTabel desc limit 0,1
Dit werkt volgens mij niet ik loop nu namelijk meerdere tabellen en als ik dan echo in de loop zie ik van elke tabel het hoogste getal.
Rik Engelen op 16/07/2010 11:10:53:
Dit werkt volgens mij niet ik loop nu namelijk meerdere tabellen en als ik dan echo in de loop zie ik van elke tabel het hoogste getal.
Deze query voer je dan ook uit na de loop.
EDIT:
if($id_bedrijven_categorie_aantal == $i)
{
$r['hoogste_id'];
}
Gewijzigd op 16/07/2010 11:16:49 door wesley Overdijk
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC limit 0,1' at line 1
www.google.nl. je hoeft alleen maar in te tikken wat je zoekt. Bijvoorbeeld 'get the last id of a table'
http://www.google.com/search?client=ubuntu&channel=fs&q=get+the+last+id+of+a+table&ie=utf-8&oe=utf-8
Een beginner, uuuh oke... google? Is een geweldige tool die de niet-beginners gebruiken om informatie te winnen. http://www.google.com/search?client=ubuntu&channel=fs&q=get+the+last+id+of+a+table&ie=utf-8&oe=utf-8
maar het gaat niet om de laatste id maar ik ga in alle tabellen kijken naar het hoogste klantnummer ik wil dan van alle tabellen een kleine 159 het laatst gebruikte klantnummer weten. de functie get last id ken ik wel maar dat wil ik niet hebben zie mijn eerste bericht.
gah... dan een simpele if current < highest, highest = current. aan het einde heb je de hoogste in current.
-- bericht samengevoegd, laatste was om 16/07/2010 11:45:11 --
dit stukje is het toch waar ik dat moet doen:
for ($i = 0; $i <= $id_bedrijven_categorie_aantal; $i++)
{
$query_select = mysql_query("select max(klantnummer) as hoogste_klantnummer, max(id) as hoogste_id from bedrijven_".$id_bedrijven_categorie[$i]." limit 1") or die(mysql_error());
while ($r = mysql_fetch_assoc($query_select))
{
$hoogste_klantnummer = $r['hoogste_klantnummer'];
$hoogste_id = $r['hoogste_id'];
}
if ($hoogste_klantnummer < $hoogste_klantnummer)
{
$hoogste_klantnummer_totaal = $hoogste_klantnummer;
}
}
$klantnummer = $hoogste_klantnummer_totaal+1;
$klantid = $hoogste_id_totaal+1;
Binnen de 24 uur geen nieuwe post plaatsen, graag uw huidige post wijzigen (niet bumpen).[/modedit]
Gewijzigd op 16/07/2010 15:32:40 door Tom Beuckelaere
Dat het toevallig steeds met 1 opgehoogd wordt betekend dus niet dat het een rij wordt van 1,2,3,4,5. Als je een rij verwijderd, dan blijft de database wel doortellen. Ook is het bijvoorbeeld zo dat bij postgresql letters worden gebruikt.
snap ik maar op id en klantnr zit geen auto increment omdat ik een klant steeds in een andere tabel wil hebben.
Rik Engelen op 16/07/2010 11:48:38:
snap ik maar op id en klantnr zit geen auto increment omdat ik een klant steeds in een andere tabel wil hebben.
You're doing it wrong. Ik zou je taktiek eens aanpassen.
dat is helaas niet mogelijk gezien de opbouw van de website die er achter hangt met de database opbouw.
max() om de hoogste waarde te vinden...
Zet alle klantnummers die je uit de verschillende tabellen selecteert in een array en gebruik de PHP functie Ga ik doen
Graag niet bumpen; twee berichten van jezelf na elkaar binnen 24 uur plaatsen. Heb je een toevoeging aan je vorige bericht, gebruik dan het 'wijzigen' icoontje.[/modedit]
Gewijzigd op 16/07/2010 14:20:11 door Joren de Wit