nummer aanvullen met '0'.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John de Winkel

John de Winkel

15/11/2008 09:39:00
Quote Anchor link
Hoi allemaal,

Ik heb een database met leden van een club.
Deze leden hebben bij aanmelding allemaal een lidnummer gekregen.
Nu wil ik graag sorteren op aflopend nummer zodat ik altijd de laaste leden het eerst zie.
Wat is nu het probleem:

Hij ziet bijvoorbeeld 800 als een groter getal dan 1000.
Nu ben ik handmatig vóór alle nummers één om meer nullen aan het zetten maar dat is natuurlijk een heidens karwij.

Kan dat ook anders?

Alvast bedankt voor jullie reacties.

John
 
PHP hulp

PHP hulp

05/11/2024 14:50:03
 
Robert Deiman

Robert Deiman

15/11/2008 09:46:00
Quote Anchor link
@John

Het lidnummer is zeker opgeslagen in een varchar kolom? Als het namelijk een int is en je sorteert met SQL dan gaat het prima hoor.

wil je in de weergave dan toch een 4 cijferig nummer weergeven, gebruik dan voorloopnullen:

(800 is namelijk wel heel anders dan 8000, je kan daar (puur voor de weergave) wel 0800 van maken. Dat doe je met sprintf()
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Rens nvt

Rens nvt

15/11/2008 09:48:00
Quote Anchor link
Hoi John,

Als je handmatig nullen voor het getal kunt zetten, en 800 als groter gezien wordt dan 1000... Dan is het onmogelijk dat je een getal opslaat in je database.

Waarschijnlijk sla je het nummer op in een varchar veld ofzo, waardoor de database bij het sorteren niet kijkt naar de hoogte van het getal, maar alfabetisch sorteert. Hierdoor komt 1000 voor 800.

Als je het veld aanpast naar bijvoorbeeld een INT, zul je zien dat de sortering wel goed gedaan wordt.
 
John de Winkel

John de Winkel

15/11/2008 20:20:00
Quote Anchor link
Robert_Deiman schreef op 15.11.2008 09:46:
@John

Het lidnummer is zeker opgeslagen in een varchar kolom? Als het namelijk een int is en je sorteert met SQL dan gaat het prima hoor.

wil je in de weergave dan toch een 4 cijferig nummer weergeven, gebruik dan voorloopnullen:

(800 is namelijk wel heel anders dan 8000, je kan daar (puur voor de weergave) wel 0800 van maken. Dat doe je met sprintf()


Ik heb geprobeert een INT daarvan te maken maar sommige nummer bevatten een # teken en daar kan INT niets mee.

Ik wil wel eens weten wat ik met 'sprintf()' kan.Heb gekeken hoe ik dat kan gebruiken maar vind het even niet.
Kun je me verder helpen?

Het gaat dus om een bestaande ledendatabase. Nieuwe leden krijgen al een groter nummer dan 1000 dus het gaat echt om de reeds bestaande leden.

John
 
- SanThe -

- SanThe -

15/11/2008 20:33:00
Quote Anchor link
John schreef op 15.11.2008 20:20:
sommige nummer bevatten een # teken

En hoe wil je daar dan op sorteren?
 
Cees St

Cees St

15/11/2008 20:44:00
Quote Anchor link
print str_pad($input, 10, "0", STR_PAD_LEFT); // produceert "00000Alien"
 



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.