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

Om de volgende officiele output te krijgen
( http://taaladvies.net/taal/advies/tekst/53/ )

In Nederlandse pagina's moeten daar officieel haakjes om en halve spaities tussen, kennen we dat in PHP en XHTML

(050) 623 45 67
(0599) 12 34 56
06-54 32 23 45

Internatinaal wil je uit dezelfde dbase input deze output

+31 50 623 45 67
+31 599 12 34 56
+31 6 12 34 56 78
Als je alleen te maken hebt met Nederlandse nummers, is dat inderdaad niet nodig. Immers dan heb je altijd te maken met +31. Krijg je meerdere landen, dan zul je de landcodes ook op moeten slaan, maar dan wel in de tabel met landen...

ps. Nog een leuke functie voor het opmaken van je telefoonnummers:
<?php
function format_telefoon($kengetal, $nummer, $buitenland = false)
{
// Opmaak van nummer: spaties toevoegen.
if(strlen($nummer) % 2 == 1)
{
// Oneven: 3-2-2
$fnummer = substr($nummer, 0, 3);
for($i = 3; $i < strlen($nummer); $i++)
{
if(($i-1) % 2 == 0)
{
$fnummer .= ' ';
}
$fnummer .= $nummer[$i];
}
}
else
{
// Even: 2-2-2(-2)
for($i = 0; $i < strlen($nummer); $i++)
{
$fnummer .= $nummer[$i];
if(($i+1) % 2 == 0)
{
$fnummer .= ' ';
}
}
}

// Welk formaat? Buitenland of niet?
if($buitenland === false)
{
if($kengetal == '06')
{
return $kengetal.'-'.$fnummer;
}
else
{
return '('.$kengetal.') '.$fnummer;
}
}
else
{
return '+31 '.substr($kengetal, 1).' '.$fnummer;
}
}

// Voorbeeld
$kengetal = '020';
$nummer = '1234567';

echo format_telefoon($kengetal, $nummer, true).'<br>';
echo format_telefoon($kengetal, $nummer);

?>
Stephan schreef op 17.11.2007 18:23
Omdat ik juist fexibele wil zijn met verschillende output op Nederlandse en niet Nederlandse pagina's.
Wat heeft de taal of locatie nu met het telefoonnummer te maken?

Ik woon in +55, heb ook een telefoonnummer in +55, maar ook een adres en telefoonnummer in +31 (Skype In). In alle gevallen is mijn Nederlands ook nog wel vrij aardig.

Ik zie het verband tussen een taal, locatie en telefoonnummer niet.
@Frank: volgens mij heeft de TS het niet over het verschil in taal van gebruikers, maar over de verschillende talen van zijn websites.

Het gaat dan ook niet om telefoonnummers uit verschillende landen, maar om het weergeven van Nederlandse telefoonnummers in verschillende talen.
Blanche schreef op 17.11.2007 18:33
@Frank: volgens mij heeft de TS het niet over het verschil in taal van gebruikers, maar over de verschillende talen van zijn websites.

Het gaat dan ook niet om telefoonnummers uit verschillende landen, maar om het weergeven van Nederlandse telefoonnummers in verschillende talen.
Ok, maar ook in het chinees kun je prima +31 of +55 weergeven. Ik snap dat probleem even niet.

Ook niet wanneer je die +31 hebt gekozen d.m.v. een selectbox waarin de waarde 'Nederland' of 'PaĆ­ses Baixos' stond.
Blanche, dat ziet er mooi uit!
echt hmmhmmooi.

En volgens mij snapt Frank mijn vraag inderdaad niet helemaal.
Maar voor nu ben ik wel geholpen.
Dus allebei bedankt.

Reageren