New question

Question:

Date: 24-06-2017 20:59:41 (In Spanish)

¿Cómo puedo asignar un limite para insertar datos a una tabla por usuario?[Unresolved]

Buenas noches, primeramente les agradezco a todos ustedes, por la disposición de su tiempo y apoyo. Esta vez tengo una pequeña curiosidad y decidí ponerla en práctica, actualmente estoy investigando como puedo hacer esto, por otra parte les pido a modo de favor sus comentarios y/o sugerencias.

Les comento lo que deseo hacer, a continuación mostrare un bosquejo:

url: https://www.dropbox.com/s/i3ks67xoolyylck/joel.PNG?dl=0

Ahora como en la captura presentada anteriormente podemos ver que el usuario joel solo puede registrar 2 datos en la tabla(tbl_router) , y 50 en la tabla cliente,
pero el limite pueden variar, ya que el usuario admin (usuario master) puede asignar el limite.

Quedo a la espera de sus comentarios, que tengan un buen día, gracias.
Tags: Database - Development - MySQL - MySQL Developing - PHP - Question - XAMPP Votes: 0 - Answers: 5 - Views: 14 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 30-06-2017 00:44:57 Hola Joel,

    Lo que se me ocurre para resolver tu planteamiento es que antes de realizar la inserción se cuente la cantidad de registros que existen en la tabla para ese usuario. Eso implica que en cada tabla deberá existir un "id_usuario" que permita asociar los registros "pertenecientes" al usuario.

    Ejemplo:
    tbl_clientes: id_cliente, nombre, ... , id_usuario

    Cada vez que un usuario intente insertar un nuevo registro:

    SELECT COUNT(*) AS registros FROM tbl_clientes WHERE id_usuario=" (acá el id del usuario) "

    La columna "registros" se compara con la cantidad de permitidos para el usuario (tbl_cientes), es menor se inserta el registro:

    INSERT INTO tbl_clientes (nombre, ... , id_usuario) VALUES ("nombre del cliente", .... , " (id usuario)"

    Cuéntanos si te sirve.

    Saludos.
      Votes: 2 - Link answer
     
  • Date: 30-06-2017 10:42:31 Hola, Sr. Leonardo. Disculpe una consulta la columna "registros" tengo que agregar como un campo mas a la tabla usuario??.
    Le agradesco su respuesta, que tenga un buen dia.
      Votes: 0 - Link answer
     
  • Date: 30-06-2017 16:38:09 Hola Joel,

    No, la columna "registros" la obtienes de contar (COUNT) la cantidad de registros que tiene el usuario. La columna que debes agregar a cada tabla que desees controlar es la de "id_usuario". Algoritmo:

    1. "joel" inserta un nuevo cliente. En la tabla tbl_clientes debe existir una columna "id_usuario" y allí registro "joel"
    2. "joel" intenta insertar un nuevo cliente. Cuento (COUNT) en la tabla de clientes cuántos registros hay identificados con "joel" (SELECT COUNT(*) AS registros ... WHERE id_usuario="joel")
    3. Comparo "registros" con la cuota de "joel", si es menor permito insertar, de lo contrario no.

    Saludos.
      Votes: 0 - Link answer
     
  • Date: 02-07-2017 10:12:09 Hola. Loenardo, buenas Tardes, disculpe la demora, tengo otra duda mas, segun sus respuestas. Lo que no me quedo en claro fue: en que parte tendria o tengo que establecer el limite de insertar( o tengo que agregar un campo mas en la tabla usuario donde le asigne el limite de insert), podria por favor explicarme esa parte un poco mas, se le agradece mucho, buen dia.

    Adjunto los campos de mi tabla cliente y usuario:
    create table clientes (
    	id int not null auto_increment primary key,
    	codigo varchar(50),
    	nombre varchar(100),
    	ruc varchar(20),
    	ip_wan varchar(20),
    	ip_lan varchar(20),
    	control varchar(50),
    	ubicacion text,
    	usuario_id int not null,
    	created_at datetime,
    	foreign key (usuario_id) references usuario(id)
    );
    create table usuario(
    	id int not null auto_increment primary key,
    	nombres varchar(50),
    	apellidos varchar(50),
    	username varchar(50),
    	email varchar(255),
    	password varchar(60),
    	activo tinyint(1) not null default 0,
    	admin tinyint(1) not null default 0,
    	soporte tinyint(1) not null default 0,
    	created_at datetime
    );
    
    

    Mi duda es, no se si agregar un campo mas a la tabla usuario, donde pueda asignar los limites de insertar.?
      Votes: 0 - Link answer
     
  • Date: 06-07-2017 16:11:39 Buenas noches, disculpen, en este tema de la programación soy nuevo, por favor les pido, si podrían guiarme un poco mas, se le agradezco mucho, por sus tiempo. gracias   Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com