Foros del Web » Programando para Internet » PHP »

Sin limite de fecha

Estas en el tema de Sin limite de fecha en el foro de PHP en Foros del Web. bueno, tras intentar varias veces, no he logrado realizarlo. Alguien podria ayudarme con esto ? lo que quiero realizar es tener un registro de 5 ...
  #1 (permalink)  
Antiguo 21/08/2012, 12:07
 
Fecha de Ingreso: agosto-2012
Mensajes: 10
Antigüedad: 11 años, 8 meses
Puntos: 0
Sin limite de fecha

bueno, tras intentar varias veces, no he logrado realizarlo.

Alguien podria ayudarme con esto ?

lo que quiero realizar es tener un registro de 5 personas por "dia".

Miren el codigo y diganme en donde he fallado.

Código PHP:
<?php
include("conexion.php");
$con=mysql_connect($servidor,$usuario,$pass) or die("problemas al conectar");
mysql_select_db($db,$con) or die("problemas al conectar la DB");
$hoy date"Y-m-d" );
$sql "SELECT COUNT(*) AS 'log' FROM `logeo` WHERE `salida`='$hoy'";
$resultado mysql_query($sql,$con) or die ( mysql_error() );
list( 
$no_registros ) = mysql_fetch_row$resultado );
if( 
$no_registros >= 5) {
       die( 
"Ya no puedes ingresar registros, el maximo es 5" );
} else {

if(isset(
$_POST['Nombres']) && !empty($_POST['Nombres']) &&
isset(
$_POST['Apellidos']) && !empty($_POST['Apellidos']) &&
isset(
$_POST['Recorrido']) && !empty($_POST['Recorrido']) &&
isset(
$_POST['Horario']) && !empty($_POST['Horario']) &&
isset(
$_POST['Precio']) && !empty($_POST['Precio']) &&
isset(
$_POST['Dia']) && !empty($_POST['Dia']) &&
isset(
$_POST['salida']) && !empty($_POST['salida']))

{
mysql_query("INSERT INTO logeo(Nombres,Apellidos,Recorrido,Horario,Precio,Dia,salida) values('$_POST[Nombres]','$_POST[Apellidos]','$_POST[Recorrido]','$_POST[Horario]','$_POST[Precio]','$_POST[Dia]','$_POST[salida]')"$con);
echo
"Listo, formulario enviado Satisfactoriamente !";
}else{
echo
"Ups ! Hubo un error al ingresar datos!";
}
}
?>
Gracias.
  #2 (permalink)  
Antiguo 21/08/2012, 12:40
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Sin limite de fecha

Código PHP:
$sql "SELECT COUNT(*) AS 'log' FROM `logeo` WHERE `salida`='$hoy'"
$resultado mysql_query($sql,$con) or die ( mysql_error() ); 
list( 
$no_registros ) = mysql_fetch_row$resultado ); 
Creo que el error esta aca. Cuando haces la consulta el resultado de sql sera un número (eso y nada mas que eso un simple número) porque le estas diciendo que cuente la cantidad de resultados. Al tratar de hacerle el list esa asignación que haces no se comporta como array.

prueba hacer esto a ver si te funciona
Código PHP:
 $no_registros  mysql_fetch_row$resultado ); 
Al hacer un echo de $no_registros[0] deberia estar el resultado.

Has probado mirando que resultado da $resultado? Yo esperaria que diera un valor numérico. De todas maneras para hacer la comparación con un número deberias verificar con gettype que el resultado que te coloca si es un número.

Igual tambien podrias usar la función mysql_num_rows que si te garantiza que colocara el número de resultados de la consulta, ya es cuestión que veas que solución te sirve mejor.


Solo por curiosidad, para que necesitas limitar a 5 el número de personas registradas por día?
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 21/08/2012 a las 13:03
  #3 (permalink)  
Antiguo 21/08/2012, 14:27
 
Fecha de Ingreso: agosto-2012
Mensajes: 10
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Sin limite de fecha

Cita:
Iniciado por cuasatar Ver Mensaje
Código PHP:
$sql "SELECT COUNT(*) AS 'log' FROM `logeo` WHERE `salida`='$hoy'"
$resultado mysql_query($sql,$con) or die ( mysql_error() ); 
list( 
$no_registros ) = mysql_fetch_row$resultado ); 
Creo que el error esta aca. Cuando haces la consulta el resultado de sql sera un número (eso y nada mas que eso un simple número) porque le estas diciendo que cuente la cantidad de resultados. Al tratar de hacerle el list esa asignación que haces no se comporta como array.

prueba hacer esto a ver si te funciona
Código PHP:
 $no_registros  mysql_fetch_row$resultado ); 
Al hacer un echo de $no_registros[0] deberia estar el resultado.

Has probado mirando que resultado da $resultado? Yo esperaria que diera un valor numérico. De todas maneras para hacer la comparación con un número deberias verificar con gettype que el resultado que te coloca si es un número.

Igual tambien podrias usar la función mysql_num_rows que si te garantiza que colocara el número de resultados de la consulta, ya es cuestión que veas que solución te sirve mejor.


Solo por curiosidad, para que necesitas limitar a 5 el número de personas registradas por día?
Gracias amigo.

Solucione mi problema con tu respuesta.

Nada en especial, solo es un proyecto que debo de entregar, pero sin ayuda estoy en la calle.

Gracias de nuevo por tu pronta respuesta.
  #4 (permalink)  
Antiguo 21/08/2012, 18:08
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Sin limite de fecha

Solo como dato, cuando solo vas a obtener 1 solo registro de tu sentencia (como en este caso el numero de registros con COUNT) es mejor usar mysql_result()...

Código PHP:
Ver original
  1. $sql = "SELECT COUNT(*) AS 'log' FROM `logeo` WHERE `salida`='$hoy'";  
  2. $resultado = mysql_query($sql,$con) or die ( mysql_error() );
  3. $no_registros = mysql_result($resultados,0);
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: fecha, formulario, limite, mysql, registro, sql, usuarios
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 20:12.