Tengo el siguiente script que me genera números aleatorios entre el 1 hasta el 20, lo primero que hago tomo la hora en este momento y le suma una hora para saber a que hora termina su tiempo del usuario y luego se lo asigno a una caja de texto, cuando se genera el primer numero aleatorio, realizo una consulta que busca en la base de datos en la tabla control si ese numero hay uno igual con la fecha de hoy y si hay se refresca la pagina para generar otro numero aleatorio.
Pero tengo los siguientes problemas:
1.- utilizo un ciclo while para recorrer cada uno de los registros y después utilizo un if para hacer la comparación del numero y de la fecha, entonces cada vez que entra en el bucle while y se compara el numero que se genere al no existir uno igual en la tabla control se imprime el mensaje de pc libre en pantalla. por ejemplo si tengo 10 numero registrados en la base de datos que fueron generados aleatoriamente y cuando se genera un numero cualquiera entre el rango cuando entre en el bucle while y pase por el if al no existir este me imprime en pantalla 10 veces pc libre, porque son 10 veces que se entro en el bucle while, entonces mi pregunta es como hacer que cuando pase por el bucle while esas 10 veces solo me imprima pc libre en pantall a una vez.
2.- utilizo este etiqueta para refrescar la pagina <meta content='1' http-equiv='REFRESH'> </meta> existirá una forma para que se genere otro numero aleatorio sin que se refresque la pagina.
Este es el código que utilizo:
Código PHP:
<?php
$fecha=date("Y-m-d");
$horain=date("H:i:s");
$Horain = Time(); // Hora actual
$Horafi = Time() + (60 *60 * 1);//hora actual + 1 hora para saber a que hora sale el usuario
$num=rand(1,20);
//se conecta a la base de datos
$host="localhost";
$usuario="root";
$password="matrix";
$conectar=mysql_connect($host, $usuario, $password);
mysql_select_db("centro", $conectar);
$consulta="select pc, fecha from control where fecha='$fecha'";
$query = mysql_query($consulta, $conectar) or die(mysql_error());
while ($row=mysql_fetch_array($query)) { //recorre los registros devueltos
//comprobar si existe en la base datos, si existe nos manda un mensaje de que ya existe
if ($num == $row['pc'] && $fecha == $row['fecha']) {
echo "<meta content='1' http-equiv='REFRESH'> </meta> ";
}else{
echo "Esta libre la PC:";
}
}
?>
Ya probe algunos métodos sin darme resultado.
Alguna idea para la posible solución.
Gracias y saludos.