Page 1 sur 1

Recherche dans une Base Mysql

Posté : 02 mars 2007, 09:42
par copper4
Bonjour à tous,
j'ai une table qui contient des prefixes telephoniques avec une longeur variables) et le prix de la communication en fonction du prefixe.
01 0,5
02 0,5
082 0,9
0892 0,7
...
...

J'ai une variable php $numero qui contient un numero de telephone de 10 chiffres, par exemple 0820101010.

Comment puis-je connaitre le prix associé au prefixe si il existe dans la table (Si le prefixe fait un nbr de caractere fixe, par exemple 2,là je sais faire)?

Merci d'avance

Copper

PS : tarifs donnés pour l'exemple

Posté : 02 mars 2007, 12:08
par sharep98
En supposant que j'ai une table comme ceci :
CREATE TABLE tel(prefixe CHAR(5), tarif DECIMAL(10,2));

Je proposerai d'utiliser la requête suivante :
SELECT tarif FROM tel WHERE INSTR('01234567', prefixe)>0 ORDER BY CHAR_LENGTH(prefixe) DESC LIMIT 1;

D'après mes tests, çà a l'air de marcher...

Posté : 02 mars 2007, 12:12
par Maitrepylos
Salut,

Il faudrais que tu puisse déjà faire la différence entre Un téléphone fixe et un Gsm.

Prenons l'exemple de :

Liège : 04
Base : 0486

comment pense tu faires la différence, à moins de présenter tous les tarifs?

Posté : 02 mars 2007, 21:50
par Copper
Fixe : 01, 02, 03,04 , 05 + NGN
Mobile : 06

LE probleme est plus sur l'analyse des 08 et des indcatifs pour lespays hors france.