Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ideas: registrar pago mensual en mysql

Estas en el tema de Ideas: registrar pago mensual en mysql en el foro de Mysql en Foros del Web. Hola a todos es el primer tema que abro. Necesito una ayuda, o que me puedan dar ideas, no pido el código fuente, ni nada ...
  #1 (permalink)  
Antiguo 06/10/2013, 13:10
 
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Ideas: registrar pago mensual en mysql

Hola a todos es el primer tema que abro.

Necesito una ayuda, o que me puedan dar ideas, no pido el código fuente, ni nada de eso.

Miren, tengo que realizar un pequeño trabajo para una escuela.

Donde tengo que agregar a los alumnos de la siguiente forma

Nombre del alumno, Apellido,edad, otros datos, son como 40 o 50 alumnos, hasta aqui todo muy sencillo, llevar el registro de los alumnos.

pero necesito agregar un campo, donde agregue todos los meses si el alumno pago o no ese mes, y después poder listar que alumnos pagaron tal mes, y que alumno no.

La verdad, soy aun principiante, y me falta imaginacion para poder crear esta aplicacion, no se si dispone de dos tablas, una con los datos del usuario, u otra con los meses, y el id de cada usuario, si pudieran guiarme, en que tablas tengo que hacer, y eso, yo me encargo del codigo, como tiene que ser.

Saludos a todos. y gracias.
  #2 (permalink)  
Antiguo 06/10/2013, 13:33
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 14 años, 2 meses
Puntos: 20
Respuesta: Ideas: registrar pago mensual en mysql

Lo que necesitas es agregar otras tablas no solo un campo.

Por ejemplo una solucion seria:

Código MySQL:
Ver original
  1. - Alumno
  2.     - id
  3.     - nombre
  4.     - etc
  5.  
  6. - Cargo
  7.     - id
  8.     - nombre
  9.     - precio
  10.     - etc
  11.  
  12. - CargoAlumno
  13.     - alumno_id
  14.     - cargo_id
  15.     - estado
  16.     - etc

Saludos!
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #3 (permalink)  
Antiguo 06/10/2013, 14:13
 
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Ideas: registrar pago mensual en mysql

Hola, primeramente muchas gracias por responder.

Segundo, no entediste bien mi problema, o yo no entendi la solucion.

Yo tengo un lista ponle de 45 alumnos en una tabla con los siguientes campos:
id_alumno - Nombre - Apellido - Telefono - Datos - Otros Datos
1 juan lopez 0000 24 25

Datos similares a estos, yo tengo que hacer un pequeño panel donde puede agregar solo la información de los pagos mensual de cada alumno: por ejemplo, en mayor pago el alumno, juan, david, pepeto. y de esos datos sacaría yo algunos listados, como alumnos que no pagaron, y alumnos que si pagaron.

como creo que las tablas, y como las uno. no se me ocurren ideas.

desde ya muchas gracias
  #4 (permalink)  
Antiguo 06/10/2013, 15:52
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 14 años, 2 meses
Puntos: 20
Respuesta: Ideas: registrar pago mensual en mysql

@ciranoneitor como te explique puedes cubrir lo que necesitas.

Checa un alumno puede hacer uno o mas pagos, entonces esto no es buena idea tenerlo en una sola tabla por eso fue que te puse 3 tablas. [ Alumno ] -* [ CargoAlumno ] *- [ Cargo ]

+ La tabla alumno tiene la información como:

- id: 1000
- nombre: Juan

- id: 1001
- nombre: Roberto

+ La tabla cargo tiene la información como:

- id: 1000
- nombre: Colegiatura Octubre
- precio: 1000

- id: 1001
- nombre: Inscripción
- precio: 2000

+ La tabla CargoAlumno es la que relaciona las otras dos

- alumno_id: 1000
- cargo_id: 1000
- estado: pendiente

- alumno_id: 1000
- cargo_id: 1001
- estado: pendiente

- alumno_id: 1001
- cargo_id: 1000
- estado: pagado

- alumno_id: 1001
- cargo_id: 1001
- estado: pagado


[ Reportes ]

Alumnos que ya pagaron "Colegiatura Octubre"

Código SQL:
Ver original
  1. SELECT J1.*
  2. FROM CargoAlumno BASE
  3.     INNER JOIN alumno J1 ON BASE.alumno_id = J1.id
  4. WHERE BASE.cargo_id = 1000
  5.     AND BASE.estado = 'pagado'


Como puedes ver cubre todo lo que necesitas y esta ordenado, puedes agregar otros campos como fecha_pago, fecha_expiracion, etc. ya depende de las necesidades.



Saludos!
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #5 (permalink)  
Antiguo 06/10/2013, 16:32
Avatar de AnGuisi  
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Ideas: registrar pago mensual en mysql

Te serviría realizar un diagrama entidad-relación. Es indispensable, así tendrías todo mucho mas claro amigo. Te recomiendo leer sobre eso, pues tu problema lo solucionarias facilmente creando uno, bien sea con las ideas que te ha dado el compañero bet7o
  #6 (permalink)  
Antiguo 06/10/2013, 17:12
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Ideas: registrar pago mensual en mysql

Yo lo haría en una sola tabla que agregue los pagos directamente, no tener una tabla con los pagos que tendría que haber porque sino es doble laburo, uno cargar cada mes y otro cargar quien pago.

Ej:
Tabla pagos:
id_pago, id_alumno, monto, fecha.

Asi, mediante una consulta ves quienes pagaron. Si tenés que listar los alumnos y mostrar si cada uno pagó o no en el mes de octubre, sería:

Código SQL:
Ver original
  1. SELECT alumnos.nombre, alumnos.apellido, pagos.id_pago
  2. FROM alumnos
  3. LEFT JOIN pagos ON pagos.id_alumno = alumnos.id_alumno AND MOTH(pagos.fecha) = 10 AND YEAR(pagos.fecha) = 2013

Después al listarlos solo ponés
Código PHP:
Ver original
  1. if ($alumno['id_pago'] != NULL)
  2.     echo "pagó";
  3. else
  4.    echo "no pagó";

Me parece que así solo manejar una tabla da mas libertad para las consultas el manejo del sistema.

Última edición por Cuervoo; 06/10/2013 a las 17:19
  #7 (permalink)  
Antiguo 06/10/2013, 17:25
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Ideas: registrar pago mensual en mysql

Me faltó dentro de pagos que haya un campo mes y un campo año, porque se puede pagar meses adelantados y atrasados.

Tabla pagos:
id_pago, id_alumno, monto, mes, ano, fecha.

Y la consulta quedaría

Código SQL:
Ver original
  1. SELECT alumnos.nombre, alumnos.apellido, pagos.id_pago
  2. FROM alumnos
  3. LEFT JOIN pagos ON pagos.id_alumno = alumnos.id_alumno AND pagos.mes = 10 AND pagos.ano = 2013

Ahí ya no habría problemas.
  #8 (permalink)  
Antiguo 06/10/2013, 17:50
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 14 años, 2 meses
Puntos: 20
Respuesta: Ideas: registrar pago mensual en mysql

@Cuervoo en una escuela hay varios conceptos de pago, no solo colegiaturas, también pueden tener transporte, inscripciones, extraescolares, salidas, etc.

Con tu propuesta como lo harías, como cubres esto?

Igual funciona y esta bien si así te sirve, pero si quieres ver mas adelante y un sistema mas avanzado.

Tampoco es trabajar doble si no hacer las cosas bien desde un principio.


Saludos.
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #9 (permalink)  
Antiguo 06/10/2013, 18:49
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 6 meses
Puntos: 43
Respuesta: Ideas: registrar pago mensual en mysql

Tenés razón be7o, en ese caso agregaría una especie de categorías de pagos para detallar qué pagó y qué no.

Una tabla tipo_pago:
id_tipo_pago, tipo_pago, monto

Donde el tipo sea transporte, incripciones, etc. y qué valor tiene cada servicio.

Después una tabla que las relacione y ver qué pagó en cada pago.

pagos_tipos
id_pago, id_tipo_pago

Asi podrías ver cuanto pagó y qué pagó sin necesidad de tocar lo anterior.

No sé qué decís vos, me interesa saber por si vengo trabajando mal o lo puedo mejorar.
  #10 (permalink)  
Antiguo 06/10/2013, 19:50
 
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Ideas: registrar pago mensual en mysql

Bien bien, comienzo a darme un idea de como podria construir las tablas, sinceramente muchas gracias. para ser mas entendible, copiare lo que el de la escuela me pidio directamente.

Una última zona en la que el pueda poner quien le paga y quien no, aqui la idea es que se genere un registro automatico con todos los nombres de cada uno de los inscritos y que el, manualmente todos los meses le ponga una S o una N segun le hayan pagado. Esa S o N estaria en una zona que representaria a cada uno de los meses ( eso es importante porque si tiene que tirar un listado con los nombres de las personas que no le han pagado el mes que lo pueda hacer facil..)

Etiquetas: mensual, pago, php, registro
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.
Tema Cerrado




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