elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  totalmente neofito en programación PHP y MySQL "reportes de registros espcificos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: totalmente neofito en programación PHP y MySQL "reportes de registros espcificos  (Leído 3,202 veces)
Platanito Mx


Desconectado Desconectado

Mensajes: 889



Ver Perfil
totalmente neofito en programación PHP y MySQL "reportes de registros espcificos
« en: 7 Marzo 2013, 20:50 pm »

Tengo una BD en MySQL la cual tien diferentes tablas

Una tabla que se llama usuarios
Una tabla se llama computadoras donde tengo los campos: Marca, Modelo, Fabricante, SO, etc.
Pero en esa tabla no aparece la marca HP, lo que aparece es el numero 1, lo mismo con el fabricante, lo mismo con el SO
Una tabla que se llama marca, donde 1 = IBM, 2 = HP, 3 = Toshiba, etc. etc.

Quiero hacer un reporte en el cual escriba el nombre del usuario y me aparezcan los datos de la computadora que tiene asiganada, en este caos hablo de computadoras, pero tambien quiero que aparezca las impresoras, telefonos, perifericos, etc.

No sé por donde iniciar, busco en google reportes php mysql pero no aparece el cómo escribir lo que quiero buscar, o no encuentro como escribir el nombre y que haga la busqueda en las diferentes tablas, etc. etc.

quisiera que me ayudaran con una breve explicación, o que me digan...usa inner join, crea una vista primero, etc. etc. y para que puedas escribir el "nombre" y haga la busque sobre lo que escribiste haz esto y esto

Espero poder haber sido claro y me puedan ayudar, gracias.


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: totalmente neofito en programación PHP y MySQL "reportes de registros espcificos
« Respuesta #1 en: 7 Marzo 2013, 23:09 pm »

Vas por buen camino.

Supongo que a un usuario le corresponde una computadora.
Entonces como dices tienes tus tablas USUARIOS, COMPUTADORAS, MARCAS, MODELOS, SO.

En primer lugar debes tener ya registrada las computadoras antes de poder asignarlas al usuario.
en la tabla COMPUTADORAS debes además de tener los ID de la marca y modelos otro ID (un SK [SuperKey] de tipo autoincrement o podría ser el número de serie) también debes tener una llave foranea del usuario (fk) la cual tendria que poder ser null en todo caso y se va a actualizar cada vez que asignes una computadora. (computer_id, user_fk, computer_stamp, computer_model, computer_so, etc)

Por otro lado tienes los usuarios con sus atributos correspondientes (user_id, user_name, etc)

Una vez que tengas registrada las computadoras (no sé si el registro sea por formulario en php) se procede a la asignación de máquinas.

Utilizando INNER JOIN relacionas las tablas (USUARIOS-COMPUTADORAS y COMPUTADORAS-MARCAS-MODELOS-SO) para crear una vista y facilitar la tarea. (Al estar relacionadas estas solo te mostrará las computadoras que están asignadas junto con los usuarios)


Para finalizar en tu formulario donde tendrás un input tipo text en el cual se escribirá el nombre (no sé si del usuario o la computadora) y mediante AJAX o javascript puedes mostrar tu información en la misma página cada vez que se realice una consulta o bien del modo más facil puedes enviar por POST o GET el ID del usuario y recogerlo en otra página y mostrar la información.

En tu consulta a la vista tendrías algo como

SELECT * FROM ver_asignaciones WHERE user_name LIKE '%juan perez%'

Espero haberte ayudado un poco.

Saludos.





« Última modificación: 3 Septiembre 2015, 19:01 pm por 1mpuls0 » En línea

abc
Platanito Mx


Desconectado Desconectado

Mensajes: 889



Ver Perfil
Re: totalmente neofito en programación PHP y MySQL "reportes de registros espcificos
« Respuesta #2 en: 12 Marzo 2013, 16:12 pm »

Gracias Darhius

No sé que tan bueno sea lo siguiente:

Generar una vista para las computadoras por usuario
Generar una vista para las impresoras por usuario
Generar una vista para los telefonos por usuario
etc. etc.

despues hacer en PHP la conexion a la BD
después hacer la consulta en las tablas
 ¿esta bien?
En línea

s7evin

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: totalmente neofito en programación PHP y MySQL "reportes de registros espcificos
« Respuesta #3 en: 12 Marzo 2013, 16:45 pm »


Código:
SELECT 
  `los_campos_que_necesites`
FROM
  `usuario`
  INNER JOIN
    `computadora`
    ON `computadora`.`ID` = `usuario`.`computadora_ID`
  INNER JOIN
    `marca`.`ID`
    ON `computadora`.`marca_ID` = `marca`.`ID`
  /* y así con todas las tablas que necesites (no te pases jeje) */
WHERE
  `usuario`.`nombre` = "pericodelopalotes"
LIMIT 1 /* si solo quieres 1 solo resultado */

Ten en cuenta que con el INNER JOIN de `computadora` solo aparecerá el usuario si tiene asignado un PC, sino no deolverá resultado.
Si por el contrario necesitas que devuelva el usuario aunque no tenga asignado un PC, deberás usar otro tipo de JOIN, como puede ser el LEFT.

Espero que te sirva de ayuda.

Saludos!
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: totalmente neofito en programación PHP y MySQL "reportes de registros espcificos
« Respuesta #4 en: 12 Marzo 2013, 23:04 pm »

Gracias Darhius

No sé que tan bueno sea lo siguiente:

Generar una vista para las computadoras por usuario
Generar una vista para las impresoras por usuario
Generar una vista para los telefonos por usuario
etc. etc.

despues hacer en PHP la conexion a la BD
después hacer la consulta en las tablas
 ¿esta bien?

El punto es que una vista en realidad es una tabla, pero facilitan mucho las consultas sobre todo cuando tienes que relacionar información muy parecida.
En lo personal para mi es buena idea que realices la creación de las vistas ayudan mucho cuando se relaciona entre varias tablas.

En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
MySQL, reporte "Registros duplicados" (Solucionado) « 1 2 3 »
Bases de Datos
AlbertoBSD 20 80,618 Último mensaje 19 Junio 2009, 05:58 am
por AlbertoBSD
[?] MySQL "Registros Faltantes" Optimizar Consulta
Bases de Datos
AlbertoBSD 4 10,765 Último mensaje 19 Abril 2009, 08:06 am
por -explicito-
Ayuda con conteo de registros en php y mysql « 1 2 »
PHP
RedZer 13 9,760 Último mensaje 5 Diciembre 2010, 20:28 pm
por RedZer
¿Que lenguaje de programacion me recomiendan para empezar totalmente desde cero?
Programación General
Zenom 6 9,145 Último mensaje 12 Marzo 2011, 19:05 pm
por Ragnarok
[AYUDA]Actualizar multiples registros en MySQL
PHP
Feedeex 1 4,436 Último mensaje 25 Abril 2011, 23:57 pm
por merolhack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines