PHP y MySQL ¿Cómo agregarle un jefe a los empleados?

Radick Seguir

Mi
Redactor
Verificación en dos pasos activada
Desde
29 Abr 2010
Mensajes
3.034
Supongamos que tengo una tabla llamada empleados y otra supervisores. Entonces necesito, por ejemplo, que al clicar al supervisor "Eduardo Cetina" pueda consultar qué empleados están a su cargo. Si alguien tiene un tutorial o sabe cómo hacerlo me serviría de mucha ayuda, ando mal en esta parte de PHP y MySQL.
 

memoadian

Épsilon
Programador
Verificación en dos pasos activada
Desde
8 Feb 2013
Mensajes
940
En mysql debes crear una relación 1:N o N:N esto es dependiendo si un empleado solo puede tener un jefe o muchos.

si es solo 1 jefe es 1:N

creas una tabla jefes con el id de cada jefe

creas una tabla empleados con un campo jefe y ahí colocas el id de su jefe

también puedes crear una tabla jefe-empleados donde relacionas cada jefe con sus empleados.

más o menos así es la idea.
 

Radick

Mi
Redactor
Verificación en dos pasos activada
Desde
29 Abr 2010
Mensajes
3.034
Gracias. Mira pensé en algo así:

Tabla Jefe
ID | Nombre | Apellido

Tabla Empleado
ID | Nombre | Apellido | Jefe (Dónde uso la ID del jefe)

Los empleados sólo pueden tener un jefe. Por cierto, tengo otra duda por ejemplo supongamos que estoy llenando el formulario con un php, sabrás la manera de que puede poner al jefe. Por ejemplo este sería el formulario

ID: Campo
Nombre: Campo
Apellido: Campo
Jefe: [Seleccionar ID del jefe ya sea en una ventana o una lista, de preferencia en una ventana para agregar los jefes si no están registrados en ese momento.]

En mysql debes crear una relación 1:N o N:N esto es dependiendo si un empleado solo puede tener un jefe o muchos.
si es solo 1 jefe es 1:N
creas una tabla jefes con el id de cada jefe
creas una tabla empleados con un campo jefe y ahí colocas el id de su jefe
también puedes crear una tabla jefe-empleados donde relacionas cada jefe con sus empleados.
más o menos así es la idea.

Una idea del código que debería poner necesito :(
 

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
13 Dic 2011
Mensajes
1.515
Gracias. Mira pensé en algo así:

Tabla Jefe
ID | Nombre | Apellido

Tabla Empleado
ID | Nombre | Apellido | Jefe (Dónde uso la ID del jefe)

Los empleados sólo pueden tener un jefe. Por cierto, tengo otra duda por ejemplo supongamos que estoy llenando el formulario con un php, sabrás la manera de que puede poner al jefe. Por ejemplo este sería el formulario

ID: Campo
Nombre: Campo
Apellido: Campo
Jefe: [Seleccionar ID del jefe ya sea en una ventana o una lista, de preferencia en una ventana para agregar los jefes si no están registrados en ese momento.]



Una idea del código que debería poner necesito :(

Haces la consulta y luego mostras los jefes en un listado desplegable(select) :encouragement:
 

jamrojo

Beta
Verificado por Whatsapp
Desde
6 Abr 2009
Mensajes
94
Tabla Jefe
ID | Nombre | Apellido

Tabla Empleado
ID | Nombre | Apellido | Jefe (Dónde uso la ID del jefe)

clickear en "Eduardo Cetina" pueda consultar qué empleados están a su cargo.

Supongamos que Eduardo Cretina tiene el ID 1

Select * FROM empleados where id_jefe = 1;

Tan simple como eso.

---------- Post agregado el 29-jun-2014 hora: 16:55 ----------

Los empleados sólo pueden tener un jefe. Por cierto, tengo otra duda por ejemplo supongamos que estoy llenando el formulario con un php, sabrás la manera de que puede poner al jefe. Por ejemplo este sería el formulario

ID: Campo
Nombre: Campo
Apellido: Campo
Jefe: [Seleccionar ID del jefe ya sea en una ventana o una lista, de preferencia en una ventana para agregar los jefes si no están registrados en ese momento.]
1-.
De partida en este tipo de tablas lo usual es que si estás usando un ID a secas esta sea autoincremental-primaria y que se auto genere (se define en la tabla) Entonces el campo id no se rellena.

2-. No entiendo completamente tu segunda pregunta.

Amigo con mucho cariño creo que estás volando antes de caminar, si no entiendes como funciona el diseño y consulta a 1 tabla, menos entenderás con JOINS o a 2 tablas

Lo que pediste

https://dev.mysql.com/doc/refman/5.0/es/ Documentación oficial, viene con muchos ejemplos es super intuitiva y en español, es decir todo lo que necesitas. Te recomiendo que leas al menos el primer capitulo entero para que entiendas más o menos de que va todo.
 

Lazarillo

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Jun 2014
Mensajes
76
Gracias. Mira pensé en algo así:

Tabla Jefe
ID | Nombre | Apellido

Tabla Empleado
ID | Nombre | Apellido | Jefe (Dónde uso la ID del jefe)

Los empleados sólo pueden tener un jefe. Por cierto, tengo otra duda por ejemplo supongamos que estoy llenando el formulario con un php, sabrás la manera de que puede poner al jefe. Por ejemplo este sería el formulario

ID: Campo
Nombre: Campo
Apellido: Campo
Jefe: [Seleccionar ID del jefe ya sea en una ventana o una lista, de preferencia en una ventana para agregar los jefes si no están registrados en ese momento.]



Una idea del código que debería poner necesito :(
PHP:
<?php
//Conecte con la BD primero y después lo siguiente:

$sql="SELECT * FROM Jefe";
$resultado= mysqli_query($con,$sql);

while ($row=mysqli_fetch_array($resultado)) {

$id= $row["ID"];
$nombre= $row["Nombre"];
$apellido= $row["Apellido"];

echo "<option value='$id'> ". utf8_encode($nombre). utf8_encode($apellido) .  "</option>";

}

mysqli_close($con);


?>
 
Arriba