Goedendag,
Ik probeer een sms script op te bouwen die dmv van de ingevoerde telefoonnummer de land en netwerk moet op kunnen zoeken in de database. Ik heb de database al gevuld met de juiste records en heb een filter gemaakt die controlleerd of er wel degelijk een nummer is gekozen en niet een naam.
Maar nu wil ik de volgende uitvoeren:
Maar de probleem is dat ik niet weet hoe ik dit moet/kan uitvoeren.
Ik denk aan de volgende manier, maar dit kan de processor en de database nogal belasten denk ik.
De gebruiker voer bijvoorbeeld de volgende nummer in 00937954853134856.
PHP stript de nummer totdat er 10 getallen overblijven, in dit geval 0093795485 en gaat alsvolgt zoeken in de database totdat die een resultaat te pakken heeft:
0093795485 = Geen resultaat
009379548 = Geen resultaat
...
009379 = Afghanistan
Deze code kan wat langer duren als de gebruiker bijvoorbeeld een nummer uit nederland invoert (0031), dus hierbij mijn vraag. Hoe kan ik dit het beste aanpakken?
Bij voorbaat dank,
mrprozac
De tabel met de landcodes ziet er alsvolgt uit
[SQL]
INSERT INTO `numberplan` (`dialcode`, `country`) VALUES
('0093', 'Afghanistan'),
('009370', 'Afghanistan Mobile'),
('009375', 'Afghanistan Mobile'),
('009377', 'Afghanistan Mobile'),
('009378', 'Afghanistan Mobile'),
('009379', 'Afghanistan Mobile'),
('00355', 'Albania'),
('0035566', 'Albania Mobile'),
('0035567', 'Albania Mobile'),
('0035568', 'Albania Mobile'),
('0035569', 'Albania Mobile'),
('00213', 'Algeria'),
('002135', 'Algeria Mobile'),
('002136', 'Algeria Mobile'),
('002137', 'Algeria Mobile'),
('002139', 'Algeria Mobile'),
('001684', 'American Samoa'),
('00684', 'American Samoa'),
('001684252', 'American Samoa Mobile'),
('001684254', 'American Samoa Mobile'),
('001684258', 'American Samoa Mobile'),
('00376', 'Andorra'),
('003763', 'Andorra Mobile'),
('003764', 'Andorra Mobile'),
('003766', 'Andorra Mobile'),
('00244', 'Angola'),
('0024491', 'Angola Mobile'),
('0024492', 'Angola Mobile'),
('0024493', 'Angola Mobile'),
('001268', 'Antigua and Barbuda');[/SQL]
Ik probeer een sms script op te bouwen die dmv van de ingevoerde telefoonnummer de land en netwerk moet op kunnen zoeken in de database. Ik heb de database al gevuld met de juiste records en heb een filter gemaakt die controlleerd of er wel degelijk een nummer is gekozen en niet een naam.
Maar nu wil ik de volgende uitvoeren:
- Gebruiker typt een nummer in en klikt op verzenden/volgende
- PHP kijkt in de database bij welke land/provider die telefoonnummer hoort door de eerste X nummers in de database te zoeken.
- PHP haalt de land en de netwerk van de telefoonummer en geeft deze op de (volgende) pagina weer.
Maar de probleem is dat ik niet weet hoe ik dit moet/kan uitvoeren.
Ik denk aan de volgende manier, maar dit kan de processor en de database nogal belasten denk ik.
De gebruiker voer bijvoorbeeld de volgende nummer in 00937954853134856.
PHP stript de nummer totdat er 10 getallen overblijven, in dit geval 0093795485 en gaat alsvolgt zoeken in de database totdat die een resultaat te pakken heeft:
0093795485 = Geen resultaat
009379548 = Geen resultaat
...
009379 = Afghanistan
Deze code kan wat langer duren als de gebruiker bijvoorbeeld een nummer uit nederland invoert (0031), dus hierbij mijn vraag. Hoe kan ik dit het beste aanpakken?
Bij voorbaat dank,
mrprozac
De tabel met de landcodes ziet er alsvolgt uit
[SQL]
INSERT INTO `numberplan` (`dialcode`, `country`) VALUES
('0093', 'Afghanistan'),
('009370', 'Afghanistan Mobile'),
('009375', 'Afghanistan Mobile'),
('009377', 'Afghanistan Mobile'),
('009378', 'Afghanistan Mobile'),
('009379', 'Afghanistan Mobile'),
('00355', 'Albania'),
('0035566', 'Albania Mobile'),
('0035567', 'Albania Mobile'),
('0035568', 'Albania Mobile'),
('0035569', 'Albania Mobile'),
('00213', 'Algeria'),
('002135', 'Algeria Mobile'),
('002136', 'Algeria Mobile'),
('002137', 'Algeria Mobile'),
('002139', 'Algeria Mobile'),
('001684', 'American Samoa'),
('00684', 'American Samoa'),
('001684252', 'American Samoa Mobile'),
('001684254', 'American Samoa Mobile'),
('001684258', 'American Samoa Mobile'),
('00376', 'Andorra'),
('003763', 'Andorra Mobile'),
('003764', 'Andorra Mobile'),
('003766', 'Andorra Mobile'),
('00244', 'Angola'),
('0024491', 'Angola Mobile'),
('0024492', 'Angola Mobile'),
('0024493', 'Angola Mobile'),
('001268', 'Antigua and Barbuda');[/SQL]