Er zijn vast standaard oplossingen voor het invoeren en uitlezen van telefoonnummer gegevens. Wie kan mij helpen hoe je een database 'juist'opzet en vervolgens voldoende flexibel kunt zijn met de output van telefoonnummers.
Het gaat om de nummer notatie met spaties of haakjes op de juiste plaats. Space Characters Design Standards.
Hoe doe je dat zo wie zo telefoon nummers in database - PHP
(varchar 10) 0506234567
(varchar 10) 0599123456
(varchar 10) 0601234567
Nee, niet helemaal want ik vraag me af of de invooer in de dbase al anders zou moeten zijn dan (varchar 10).
Bovendien zie je bij sommige nummers groepjes van drie of van vier cijfers tussen haakjes. En dan een andere rest indeling,
En 06- is een heel andder verhaal...
Hoe je een telefoonnummer opslaat in de database maakt niet zoveel uit, zolang je maar een varchar gebruikt. Anders vallen voorloopnullen en tekens als - en () weg zonder dat MySQL een foutmelding geeft. (Jaja, MySQL weer...)
Hoe jij de telefoonnummers vervolgens op je website weergeeft, heeft te maken met de presentatie en dus output. De manier waarop het in de database staat heeft hier verder dus niets mee te maken.
ps. Deze vraag had je natuurlijk prima in je andere topic kunnen stellen ;)
Het verschil in output berust puur op het kengetal en de lengte ervan en het feit of het in buitenlandse notatie moet of niet.
Als je de telefoonnummers als 10 cijfers opslaat, heb je geen mogelijkheid meer om te bepalen wat het kengetal is. Immers is het nu 0599-123456 of 059-9123456?
Wellicht dat het dus verstandig is om het kengetal van een telefoonnummer in een aparte kolom op te slaan. Vervolgens kun je met behulp van php de telefoonnummers verder opmaken.
Mijn ervaring leert dat er nooit een echte 'standaard oplossing' is. Veelal kunnen problemen op meerdere manieren aangepakt worden. De vraag die je je stelt is dan altijd: 'wat pas het best in mijn systeem?'.
Maar goed, hier is het wel verstandig om een aparte kolom te gebruiken aangezien anders de betekenis van het kengetal verloren gaat.
Een landnummer hoort bij een land, duhhh, en sla je dus op in de tabel waarin je ook de landen hebt staan. Laat een user eerst het land kiezen en vervolgens zijn locale telefoonnummer opgeven. Dus zónder bv. +31 of +55. Dat voorkomt een hoop tikfouten en foute data.
Een kengetal hoort daarentegen weer bij een gemeente en ik kan me voorstellen dat je die informatie niet opslaat. Dan sla je het kengetal dus op in een extra kolom in de gebruikerstabel.