Foros del Web » Programando para Internet » PHP »

PHP OO Condicionde tiempo

Estas en el tema de Condicionde tiempo en el foro de PHP en Foros del Web. Hola amigos del foro, Mi consulta es la siguiente: Tengo un sistems de eleccion de equipos para cada ususario, dicho sistema tiene varias condiciones (if) ...
  #1 (permalink)  
Antiguo 24/10/2014, 06:41
 
Fecha de Ingreso: octubre-2014
Mensajes: 2
Antigüedad: 9 años, 6 meses
Puntos: 0
Condicionde tiempo

Hola amigos del foro,

Mi consulta es la siguiente:

Tengo un sistems de eleccion de equipos para cada ususario, dicho sistema tiene varias condiciones (if) con las que limito a los participantes a elegir una sola vez y a su vez no elegir al a un equipo ya elegido. Mi siguiente condicion seria establecer en que momento pueden elegir, es decir que el usuario x podra elegir entre las 18:00 horas hasta las 18:10 horas del Lunes 27 de octubre de 2014. y asi con todos los usuarios designadoles diferenes dias y margenes de horario.

les dejo mi codigo a ver como puedo hacer esta condicion.

<?php
//Gabriel Acosta PROGRAMADOR

//Conexion a la base de datos
include("conexion.php");
date_default_timezone_set('UTC');
date('d-m-Y h:i:s A');

print'<h3><a href="equipo.php">Atras</a></h3>';
//seleccion los equipos
$query = "SELECT * FROM equipo";
$resultado = mysql_query($query);
//seleccion los psn y los pongo en un array
$sql = "SELECT * FROM psn";
$res = mysql_query($sql);
$x=0;
$psn = array();
while($row = mysql_fetch_array($res)){
$x = $x+1;
$psn[$x] = $row[psn];
}
//Pongo los resultados ya existentes en dos variables
while($fila = mysql_fetch_array($resultado)){
$psn_actual = $fila['psn'];
$equipo_actual = $fila['equipo'];
}
//traigo los resultados del post
$equipo = ($_POST['equipo']);
$psn = ($_POST['psn']);
//condicion para que no eligan dos veces el mismo PSN ID ni el mismo equipo
if($psn == $psn_actual or $equipo == $equipo_actual){
echo'<center><h2>Usted ya eligio equipo o el equipo seleccionado a sido elegido por otro usuario</h2>';
//condicion para que no eligan hasta x dia, hora y minuto
if(){

}
}else{
$reg = mysql_query("INSERT INTO equipo (equipo, psn)VALUES('".$equipo."','".$psn."')");
if($reg){
echo'<h2>Felicidades ya seleccionastes tu equipo</h2>';
}else{
echo'<h2><font color="red">Error!!</font></h2></center>';
}
}
?>
  #2 (permalink)  
Antiguo 24/10/2014, 07:13
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: Condicionde tiempo

Primero acomodo tu codigo:

Código PHP:
Ver original
  1. <?php
  2. //Gabriel Acosta PROGRAMADOR
  3.  
  4. //Conexion a la base de datos
  5. include("conexion.php");
  6. date('d-m-Y h:i:s A');
  7.  
  8. print'<h3><a href="equipo.php">Atras</a></h3>';
  9. //seleccion los equipos
  10. $query = "SELECT * FROM equipo";
  11. $resultado = mysql_query($query);
  12. //seleccion los psn y los pongo en un array
  13. $sql = "SELECT * FROM psn";
  14. $res = mysql_query($sql);
  15. $x=0;
  16. $psn = array();
  17. while($row = mysql_fetch_array($res)){
  18. $x = $x+1;
  19. $psn[$x] = $row[psn];
  20. }
  21. //Pongo los resultados ya existentes en dos variables
  22. while($fila = mysql_fetch_array($resultado)){
  23. $psn_actual = $fila['psn'];
  24. $equipo_actual = $fila['equipo'];
  25. }
  26. //traigo los resultados del post
  27. $equipo = ($_POST['equipo']);
  28. $psn = ($_POST['psn']);
  29. //condicion para que no eligan dos veces el mismo PSN ID ni el mismo equipo
  30. if($psn == $psn_actual or $equipo == $equipo_actual){
  31. echo'<center><h2>Usted ya eligio equipo o el equipo seleccionado a sido elegido por otro usuario</h2>';
  32. //condicion para que no eligan hasta x dia, hora y minuto
  33. if(){
  34.  
  35. }
  36. }else{
  37. $reg = mysql_query("INSERT INTO equipo (equipo, psn)VALUES('".$equipo."','".$psn."')");
  38. if($reg){
  39. echo'<h2>Felicidades ya seleccionastes tu equipo</h2>';
  40. }else{
  41. echo'<h2><font color="red">Error!!</font></h2></center>';
  42. }
  43. }
  44. ?>
  #3 (permalink)  
Antiguo 24/10/2014, 11:21
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Condicionde tiempo

No se por qué pones que es POO, pero se me ocurre que podría ser más simple, según lo que entendí.

Deberías tener un horario de inicio y un horario de finalizado... compararlo con la HORA ACTUAL y verificas si está en el rango.. prueba algo asi.. es solo un ejemplo, en este caso solo use la H de hora de la funcion DATE, sin tomar en cuenta los minutos, ni los segundos.. pero sabes que date() te permite usar H, m, s, Y, m, d. deberias solo ajustarte a tu necesidad

Código PHP:
<?php
$hInicio 
'14'// Está en 24 hrs
$hFin '19';
$h date("H"); // Hora actual en 24 hrs
if ($h >= $hInicio && $h <= $hFin){ 
    
// PERMITE VOTAR
}
else{
//NO PERMITE VOTAR
}
?>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: mysql, select, sql, tiempo, usuarios, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:32.