Niet alle records uit de database tonen
(Id nummer is tyniny int met een unieke waarde)
Code (php)
1
2
3
2
3
$sql = "SELECT * "; // Selecteer alle velden ...
$sql .= "FROM `leden` "; // uit de tabel 'leden' ...
$sql .= "ORDER BY `idnummer` ASC"; // en sorteer oplopend op 'nummer'.
$sql .= "FROM `leden` "; // uit de tabel 'leden' ...
$sql .= "ORDER BY `idnummer` ASC"; // en sorteer oplopend op 'nummer'.
Nu toont hij alle records, maar ik zou graag willen dat alleen de eerste 50 worden getoond, Kan ik dit hier aanpassen?
Gewijzigd op 01/01/1970 01:00:00 door Hilde
$sql .= "FROM `leden` "; // uit de tabel 'leden' ...
$sql .= "ORDER BY `idnummer` ASC";
$sql .= "LIMIT 50";
$sql .= "LIMIT 0, 50";
Verder horen backticks niet in je query thuis, dat is bende van MySQL en kan direct richting de vuilnisbak...
Quote:
(Id nummer is tyniny int met een unieke waarde)
Bereid je vast voor op de volgende bug, de volgende foutmelding:
Quote:
#1062 - Duplicate entry '127' for key 1
In een tinyint kun je maar 127 waardes kwijt (of 255 wanneer je unsigned gebruikt), daar zit je dus zo aan.
Gebruik voor id's nooit enige beperkingen, dus altijd een INT of zelfs BIGINT. dan kun je vele miljarden records opslaan zonder ooit in de problemen te komen. Een id betekent niks, een beperking op "niks" is dus zinloos.
Er zijn overigens betere manieren om jouw query uit te schrijven:
Ps. Sorteren op id is eveneens zinloos, een id betekent niks. Ook niet als jij vindt van wel. Het zegt bv. niks over ouderdom, volgorde of wat dan ook. Het wijst een uniek record aan en dat is het dan. id 1 kan nieuwer zijn dan id 25.
@ Blanche
wat bedoel je met je laatste opmerking?
Is dat die uitleg die ik weg moet doen sorry maar ik weet niet wat backticks zijn
` dat zijn backticks, duivelse bug-veroorzakende ellende. Nooit, maar dan ook nooit gebruiken!
$sql = "SELECT * FROM leden ORDER BY idnummer ASC LIMIT 0, 48";
dus hartelijk bedankt
nog even wat opmerkingen (vraagjes)
Betreffende die tiny int, wij hebben momenteel 48 leden in onze club en de website die ik maak is vooral voor de leden van de club. Het is niet de bedoeling dat hier nog 50 anderen komen inloggen op de site.
Mijn leraar php beweerde dat je zuinig moest zijn met het geheugen vandaar de tiny int
Wat betreft sorteren, ik heb de leden alfabetisch in de database tabel geplaatst, dus id = 1 noemt antierens, id = 2 noemt baetens, enz.
Ik durf echter niet op naam sorteren omdat er verschillende vaders en zonen tot de leden behoren, misschien kan ik het sorteren gewoon weglaten, want in mijn database staan de mensen dus in de juiste volgorde
Waarom zou je id's koppelen aan een alfabetische volgorde? Je kunt gewoon schikken om de desbetreffende kolom dus ook op naam.
Leden staan nooit alfabetisch in de database, ze staan in de volgorde die jij aangeeft bij het SELECTEREN of die standaard door jouw database wordt gebruikt (eveneens bij het selecteren). Er zit namelijk geen enkele volgorde in records. Tenzij jij die aangeeft (bij het selecteren, niet bij het invoeren).
En nogmaals, een id betekent helemaal niets. Het is uniek, wijst een uniek record aan en dat is het dan. Het zegt helemaal niets over de inhoud van een record.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
wat betreft sorteren; ik kan je niet goed volgen dus laat ik het voorlopig maar zo, het werkt wel en ik leer iedere dag bij, misschien begrijp ik uw uitleg volgende week iets beter en verander ik hier ook nog iets
bedankt
Hilde
ORDER BY naam ASC
hilde schreef op 11.04.2008 13:27:
Mijn leraar php beweerde dat je zuinig moest zijn met het geheugen vandaar de tiny int
Daar zit zeker een kern van waarheid in. Echter in het geheugen is een tiny integer 1 byte en een gewone integer 4 á 8 bytes, dus daar valt niet echt veel op te bezuinigen. Deze post van mij is al enkele honderden bytes.