Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/09/2014, 01:15
jovalca
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Incrementar digito si nº registros mayor o igual y repetir funcion

Hola de nuevo.

Creo que lo he logrado con do-while... Pero no se si esta bien ordenado el código, entre otras cosas, porque me salta un error en el "else" despues de usar "while". No se si es correcto usarlo así, en el manual de php.net no he encontrado ningun ejemplo para usar ese con do-while. Puede alguien, por favor, echarle un vistazo a este código?

Código PHP:
<?php 

require_once("include/connect.php"); 

$lurl $_GET['lurl']; // URL original
date_default_timezone_set("Europe/Madrid");
$date date("d/m/Y");
$hits "1";

function 
getsurl() {

$range "0"// Asigno rango "0"

$regcountquery "SELECT count(*) FROM wst_uss"// Cuento los registros de la tabla 
$regcountresult mysql_query($regcountquery);  
$regcountshow mysql_fetch_array($regcountresult); 
$regcount $regcountshow[0];

if (
$regcount <= "5") { $range "2"; } // Segun los registros, selecciono rango para X o Y dígitos 
if ($regcount >= "6" && $regcount <= "10") { $range "3"; } 
if (
$regcount >= "11" && $regcount <= "20") { $range "4"; } 

$surl substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), 0$range); // Obtengo "surl"

$existquery "SELECT wst_surl FROM wst_uss WHERE wst_surl='$surl'"
$existqueryresult mysql_query($existquery); // Compruebo si la "surl" generada existe o no 
$exist mysql_num_rows($existqueryresult);

}

if (
strlen($lurl) && filter_var($lurlFILTER_VALIDATE_URL)) { // Si la URL original es válida

do { // Ejecuto la función...
    
getsurl();
} while (
$exist ); // ...mientras "surl" exista en la DB

else { // Si no existe...

mysql_query("INSERT INTO wst_uss (wst_lurl, wst_surl, wst_date, wst_hits) VALUES 


'"
.addslashes($lurl)."', // ...inserto en la DB 
'"
.$surl."', 
'"
.$date."', 
'"
.$hits."' 


"
); 

header('Location: shorted.php?lurl='.$lurl.'&surl='.$surl); // Redirijo a pagina "Completado"

}

else { 
// Si la URL original no es válida...

header('Location: errordocs/wrong-url.php'); // ...redirijo a la pagina "Error"
         
}

mysql_free_result($regcountresult); 
mysql_free_result($existqueryresult); 
mysql_close(); 

?>
Muchas Gracias.
Un Saludo.