Muy buenas, hace poco que estoy metido en el mundo de PHP y ahora necesito crear un apartado un tanto peculiar en mi proyecto.
La cuestión es que yo cojo un número de teléfono en mi base de datos y basándome en la siguiente tabla tiene que aparecer de que tipo es:
Red Inteli. Premium 80Z*,90[3-7]*
Internacionales 00*
Acce. a Internet 908*,909*
Servicios 118XX 118*
Red Inteli. Básica 901*,902*
Num. Personales 70[0,4,707,757,770]
M2M y Nomada 590*,511*
Móviles Nacionales 6*,7*
Datáfonos e Info. 1XXX
Fijos Nacionales 9Z*,8Z*
Red Inteli. Gratuita 900*,800*
Emergencias 112,091,061,...
Z= Numero entre 1 y 9
X= Numero entre 0 y 9
* = Numeros restantes entre 0 y 9
La idea es plasmar la tabla anterior en if elses, a partir de los primeros dígitos de cada teléfono que obtengo de la base de datos.
Tengo medio creado el código con los teléfonos internacionales, nacionales y móviles, pero ya se me acaban las ideas para acabar de plasmarlo todo:
Código PHP:
Ver original$TrucadesUsuari = mysql_query ( "SELECT * FROM cdr,users WHERE cdr.src=users.phone AND (users.id='" . $q ['id'] . "') $expresioMoviles = '/^[6|7][0-9]{8}$/';
//Internacionales
if ( $phoneINT = substr($cdruser['dst'],0,2) == "00" ){ $totalsegundosInt = $cdruser['billsec'] + $totalsegundosInt;
echo '- int- ';
//NOM PAIS EN UN FUTUR
/*$Paisos = mysql_query ( "SELECT * FROM paises" ) or die ( mysql_error () );
while ( $pais = mysql_fetch_array ($Paisos) ) {
}*/
}
//Móviles Nacionales
else if(preg_match($expresioMoviles,$cdruser['dst'])){ echo '- movil -';
}
//Fijos Nacionales
else if ($phoneNAC = substr($cdruser['dst'],0,2) == "91" or
"92" or
"93" or
"94" or
"95" or
"96" or
"97" or
"98" or "99" or"81" or "82" or "83" or "84" or "85" or "86" or "87" or "88" or "89")
{
echo '-NACIONAL- ';
}
}
El problema es que el orden altera el factor, y al poner otras condiciones, los dígitos se ven afectados y no me marcan la opción telefónica que es. Creo que el orden de las condiciones es esencial y el tipo de condición también, pero no me sale el planteamiento correctamente.
A ver si me podéis ayudar. Muchas gracias de antemano.