PHP com BD relacionais em MySQL

  • Autor Autor Usuario eliminado 174876
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
U

Usuario eliminado 174876

Hola amigos,

Tengo un problema con la programación en PHP y las Bases de Datos relacionales.

El caso es el siguiente: He creado una base de datos con infinidad de tablas relacionadas entre sí, pero cuando hago llamada en PHP a los datos de la tabla padre, me devuelve el número del identificador asociado a cada índice. Pensaba que el propio MySQL se iba a encargar de devolver su valor asociativo, sin embargo estaba equivocado...

Llegados a este punto, me presupongo que habrá que introducir una sentencia algo así parecida a BUSCARH del Excel.

Es decir, si me devuelves este número del identificador, busca su resultado correspondiente en la tabla hija. Y así sucesivamente con todos los identificadores...

Me gustaría por favor, que alguno de vosotros que tuviera más experiencia en ese sentido, pudiera orientarme mejor.
Si me dejáis un ejemplo sencillito, os lo agradecería enormemente. 🙄
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Creo que la mejor forma de explicartelo es con un ejemplo. Nosotros tenemos dos tablas:
Tabla_a
+----+-----------+
| id | puesto |
+----+-----------+
| 1 | Jefe |
| 2 | Encargado |
| 3 | Empleado |
| 4 | Gerente |
+----+-----------+

Y la tabla_b:
+----+--------+------------+
| id | nombre | tabla_a_fk |
+----+--------+------------+
| 1 | Juan | 1 |
| 2 | Pedro | 2 |
| 3 | Jose | 3 |
| 4 | Pepe | 4 |
| 5 | Manuel | 4 |
+----+--------+------------+

Entonces por ejemplo, si yo quiero consultar los datos de un empleado y obtener el puesto, mi consulta SQL podría ser algo así:
Inserir CODE, HTML ou PHP:
SELECT b.nombre, a.puesto FROM tabla_b AS b LEFT JOIN tabla_a AS a ON b.tabla_a_fk = a.id WHERE b.id = 1

Esto nos arrojaría este resultado:
+--------+--------+
| nombre | puesto |
+--------+--------+
| Juan | Jefe |
+--------+--------+
 
Perfecto!

Muchísimas gracias por el aporte.
Ya sabiendo que se trata de una sentencia SQL, me pongo con ello a estudiarlo por mi cuenta en profundidad...

Un saludo, y un millón de gracias. :welcoming:
 
Voltar
Topo