Foros del Web » Programando para Internet » PHP »

Limite de registros por dia

Estas en el tema de Limite de registros por dia en el foro de PHP en Foros del Web. Buenas, miren tengo que hacer lo siguiente: Solo las empresas puedan ingresar solo 20 registros diarios, alguien puede guiarme o tiene algun ejemplo, se lo ...
  #1 (permalink)  
Antiguo 25/02/2008, 06:04
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Limite de registros por dia

Buenas, miren tengo que hacer lo siguiente:

Solo las empresas puedan ingresar solo 20 registros diarios, alguien puede guiarme o tiene algun ejemplo, se lo agradeceria mucho.

tengo esto que es mas o menos parecido pero no esta por fecha

Código PHP:
<?php 

$link 
mysql_connect(host,user,pass); 
$BaseD mysql_select_db('Registros',$link); 
$sqlQuery "SELECT * FROM Maestros"
$result mysql_query($sqlQuery,$link); 
$regitros mysql_num_rows($result); 

if(
$registros>20
    echo 
'Ya no hay cupo disponible'
else 

    echo 
'Puedes registrarte'
    
header("Location: registro.php"); 


?>
  #2 (permalink)  
Antiguo 25/02/2008, 06:08
 
Fecha de Ingreso: febrero-2008
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Limite de registros por dia

¿Que le pasa a ese codigo?, o ¿que efecto quieres que aga?
  #3 (permalink)  
Antiguo 25/02/2008, 06:09
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

cuando se hallan registrado 20 registros en el dia que no me deje ingresar mas
  #4 (permalink)  
Antiguo 25/02/2008, 06:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Limite de registros por dia

De acuerdo, entonces tenemos que añadir un "filtro" a la sentencia mysql

Código PHP:
$sqlQuery "SELECT * FROM Maestros WHERE Fecha=".date(/*aqui el formato de la fecha*/)."; 
Donde pone Fecha es el nombre de la columna de la fecha. respecto al formato del date pon en php.net date() y te saldra toda la informacion necesaria
  #5 (permalink)  
Antiguo 25/02/2008, 07:06
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

amigo, tu respuesta esta bien, pero no me entiendes al parecer.

cuando este ingresando un nuevo registro. que no me deje registrar ningun registro mas, el limite sin 20 diarios

gracias
  #6 (permalink)  
Antiguo 25/02/2008, 09:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Limite de registros por dia

Código PHP:
<?php  

$link 
mysql_connect(host,user,pass);  
$BaseD mysql_select_db('Registros',$link);  
$sqlQuery "SELECT * FROM Maestros WHERE Fecha<".date();  
$result mysql_query($sqlQuery,$link);  
$regitros mysql_num_rows($result);  

if(
$registros>20)  
    echo 
'Ya no hay cupo disponible';  
else  
{  
    echo 
'Puedes registrarte';  
    
header("Location: registro.php");  
}  

?>
Siento reincidir con la misma idea, pero si no te he entendido mal, esto es lo que necesitas.
  #7 (permalink)  
Antiguo 25/02/2008, 10:20
Avatar de fermar21  
Fecha de Ingreso: marzo-2004
Ubicación: San Nicolas - Bs. As.
Mensajes: 294
Antigüedad: 20 años
Puntos: 0
Re: Limite de registros por dia

Hola hulray,

Esa es la mejor manera de hacerlo. Solo debes crear un campo llamado Fecha en la tabla Maestros de tipo DATE y este debe contener la fecha actual (YYYY-MM-DD) cuando se ingresa un registro.
Espero que ahora se entienda.

Saludos,
__________________
Fernando Marinzulich
Programador Web (PHP/MySQL/Jquery)
  #8 (permalink)  
Antiguo 25/02/2008, 13:27
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

miren cree algo como esto

Código PHP:
   if ($ins_fecing == $fecha){
     echo 
"   <input type=\"submit\"  align=\"center\" name=\"submit_dato\" value=\"".lg_BtIngre."\" ></td>";
     echo 
"paso 1";
     echo 
$fecha;
        }else{
        
        
           if (
$visitas 10){
        echo 
" paso 2";
        echo 
"   <input type=\"submit\"  align=\"center\" name=\"submit_dato\" value=\"".lg_BtIngre."\" ></td>";
            }else{
            
            
            echo 
" paso 3";
            echo 
"   <input type=\"submit\"  align=\"center\" name=\"submit_dato\" value=\"".rd_limite."\" ></td>";
            }
            } 
lo que quiero hacer es que en la fecha de hoy, solo se pueden ingresar 10 registros, pasados los 10 no hacer nada.

pero me falta algo, para el dia siguiente va a estar el contador en 10, quiero dejarlo en 0, pero ese cambio me tiene que hacer al entrar a la pagina.
  #9 (permalink)  
Antiguo 25/02/2008, 15:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Limite de registros por dia

La mejor forma es teniendo la fecha de ingreso del registro, posteriormente antes de ingresar haces una cuenta de cuantos registros ha ingresado, si es menor a 10, le permites el ingreso, si son mas de 10 lo bloqueas, algo así:
Código PHP:
$hoy date"Y-m-d" );
$sql "SELECT COUNT(*) AS 'Registros' FROM `tabla` WHERE `FechaIngreso`='$hoy'";
// Haces tu query y descargas el resultado en $no_registros
if( $no_registros >= 10 ) {
       die( 
"Ya no puedes ingresar registros, el maximo es 10" );
} else {
       
// le permites el ingreso de los registros

Saludos.
  #10 (permalink)  
Antiguo 26/02/2008, 06:12
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

gatorv gracias por responder, solo una duda el campo $no_registros a cual corresponde? a la fecha?
  #11 (permalink)  
Antiguo 26/02/2008, 06:38
Avatar de Rinnegan  
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Limite de registros por dia

Por lo que entiendo es un contador de los registros que han ingresado en el dia.

En el principio le inrgresas a $hoy la fecha del dia (actual)

Luego llamas a una query donde haces un COUNT de los registros que contienen esa fecha que guardaste en la variable $hoy (no es necesario hacer un COUNT de todos los campos, te basta solo con uno, ya que solo quieres saber la cantidad de registros)

cuando te dice: // Haces tu query y descargas el resultado en $no_registros

tienes 2 opciones

1) $no_registros = $sql (esto se hace despues de haber ejecutado la query)

o

2) SELECT no_registros = COUNT(campoX).....

OJO esta segunda forma solo te sirve cuando entregas un solo valor a la variable y creo que cuando la extraccion de datos del select es de solo un campo....pero esto ultimo no estoy seguro.

Ojala te haya servido y no me haya equivocado en la explicación.
  #12 (permalink)  
Antiguo 26/02/2008, 07:11
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

lo ultimo, el campo tiene q ser autoincrementable?
  #13 (permalink)  
Antiguo 26/02/2008, 07:29
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Limite de registros por dia

A que campo te refieres, al $no_registros? esta variable lo unico que hace es devolverte el numero de filas del resultado como:

Código PHP:
$hoy date"Y-m-d" );
$sql "SELECT COUNT(*) AS 'Registros' FROM `tabla` WHERE `FechaIngreso`='$hoy'";
$resultado mysql_query$sql$conexion ) or die ( mysql_error() );
$no_registros mysql_num_rows$resultado );
// Haces tu query y descargas el resultado en $no_registros
if( $no_registros >= 10 ) {
       die( 
"Ya no puedes ingresar registros, el maximo es 10" );
} else {
       
// le permites el ingreso de los registros

Saludos.
  #14 (permalink)  
Antiguo 26/02/2008, 07:38
Avatar de Rinnegan  
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Limite de registros por dia

Cita:
Iniciado por hulray Ver Mensaje
lo ultimo, el campo tiene q ser autoincrementable?
el campo no tiene q ser incrementable, debido a que es una validación.
Antes de hacer cualquier inserción de algun registro tienes que hacer el SELECT de validacion con la fecha correspondiente para asi saber cuantos registros hubo ese dia hasta entonces.

Al hacer una insercion y luego la validacion para realizar otra insercion, te daras cuenta de que el select te devolvera 1 valor mas que la ves anterior, ya que a la variable $no_registros le estas asignando el COUNT de los registros con la fecha X.

Luego al dia siguiente el select sera el mismo pero la condicion del where cambiara. Para ser mas exacto la variable $hoy cambiara, ya que estas obteniendo la fecha del servidor y esa se va actualizando automaticamente, por lo que ya no contara los registros del dia anterior, sino que solo hara COUNT de los registros que cumplan con la condicion del WHERE, que ene este caso es la fecha diaria.
  #15 (permalink)  
Antiguo 26/02/2008, 08:20
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

miren,. todo bien, per el valor de $no_registro esta en 1, y no cambia de ese estado aun que yo ingrese mas registros
  #16 (permalink)  
Antiguo 26/02/2008, 09:03
Avatar de Rinnegan  
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Limite de registros por dia

Lo unico que se me ocurre es que el formato de la fecha te lo esta guardando de forma diferente a la del servidor, entonces no encontrara la igualdad, por eso se queda pegado en 1.

Fijate cuando hagas la insercion de ingresar la fecha con el formato del server, y si la puedes extraer de ahi mucho mejor.
  #17 (permalink)  
Antiguo 26/02/2008, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Limite de registros por dia

Lo que pasa es que no debes de usar num_rows, tienes que usar fetch_array:
Código PHP:
$hoy date"Y-m-d" );
$sql "SELECT COUNT(*) AS 'Registros' FROM `tabla` WHERE `FechaIngreso`='$hoy'";
$resultado mysql_query$sql$conexion ) or die ( mysql_error() );
list( 
$no_registros ) = mysql_fetch_row$resultado );
if( 
$no_registros >= 10 ) {
       die( 
"Ya no puedes ingresar registros, el maximo es 10" );
} else {
       
// le permites el ingreso de los registros

Saludos.
  #18 (permalink)  
Antiguo 26/02/2008, 09:17
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Limite de registros por dia

Excelente idolos, maestros!!!

muchas gracias por su tiempo
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 05:48.