Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/12/2006, 11:30
pintix
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 19 años, 6 meses
Puntos: 7
Re: Limpiar script

Se puede convertir en un bucle condicional con for:
Código PHP:
<?
$number 
$_POST["bloque"];
$codarea $_POST["codarea"];
$minimo 2;
$maximo 4;
$encontrado false;

//database connection settings
define('DB_HOST''localhost'); // database host
define('DB_USER''lalalalala'); // username
define('DB_PASS''turinturin'); // password
define('DB_NAME''queseyo'); // database name

$connect = @mysql_connect(DB_HOST,DB_USER,DB_PASS) or die ("Can't connect to database");
mysql_select_db(DB_NAME,$connect);

if (
strlen($number) >= $maximo){
    for (
$i $maximo;$i >= $minimo;$i--){
        
$eltexto substr($number,0,$i);
        
$elsql "SELECT * FROM identificador WHERE indicativo='$codarea' AND bloque= '$eltexto'";
        
        
$qrypub = @mysql_query($elsql,$connect) or die ("Wrong Query");
        
$row mysql_fetch_array($qrypub);
        
$porahi $row['BLOQUE'];
        if (
$porahi){
            
$a $row['OPERADOR'];
            
$aa $row['LOCALIDAD'];
            
$aaa $row['INDICATIVO'];
            
$aaaa $row['BLOQUE'];
            echo 
"$a - $aa - $aaa - $aaaa <br>";
            
$encontrado true;
            break;
        }
    }
} else {
    echo 
"numero corto";
}
if (
$encontrado === false) {
    echo 
"no hay nada";
}

mysql_close($connect);
?>
Lo que he añadido también, muy importante, un control para asegurarnos que la cadena tiene la longitud adecuada. También tendrías que comprobar que los datos sean los que esperas, por lo que dices una secuencia de números... siempre tienes que esperar lo inesperado.