Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/08/2018, 15:41
madison_sg
 
Fecha de Ingreso: noviembre-2015
Mensajes: 77
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: Llenar campos de formulario desde base de datos con varios campos

Forma de solucionarlo:

Se deben hacer dos consultas, una para la primera tabla y la otra para la segunda tabla, esto es porque primero debemos obtener el id a través de la primera consulta para poder asignarlo en la segunda consulta; las consultas deben hacerse por separado ya que si juntamos las dos tablas lo que hace es duplicar la primera tabla con los registros que encuentre de la segunda.

El ejemplo es el siguiente:
Código PHP:
$oper=$_SESSION['usuario'];
//primera consulta
$sql mysqli_query($con"SELECT * FROM medico ORDER BY RAND() LIMIT 1");
while (
$registro mysqli_fetch_row($sql)) {
//metemos el id en una variable
$id $registro['0'];

echo 
"<div class='registros-header' id=''>Consecutivo    <input type='text' style='width:60px;' id='id_medico' name='id_medico' readonly='readonly' value='".$registro['0']."'</input>";
echo 
"vdi   <input value='".$registro['1']."'</input>";
echo 
"nivel validación<input type='text'  style='width:120px;' id='nivel_validacion' name='nivel_validacion' readonly='readonly' value='".$registro['2']."'</input>";
echo 
"estatus<input value='".$registro['3']."'</input>";
echo 
"prefijo<input name='prefijo' id='prefijo' value='".$registro['4']."'</input></div></br></br>";
}
//hacemos la segunda consulta y obtenemos el id de la variable al igualarlo con el id //foraneo de la segunda tabla
$consulta mysqli_query($con"SELECT m.*, u.usuario, d.* FROM medico m, usuarios u, domicilio d WHERE u.usuario = '$oper' AND m.id_medico = d.id_medico AND m.id_medico='$id'");

while (
$fila=mysqli_fetch_array($consulta)) {
                        
                        echo 
"Domicilio"."</br>";
                        echo 
"</br><input value='".$fila['34']."'</input>";
                        echo 
"<input value='".$fila['35']."'</input>";
                        echo 
"<input value='".$fila['36']."'</input>";
                        echo 
"<input value='".$fila['37']."'</input>";

Y eso es todo por si a alguien le sirve.
Saludos.
__________________
paco alonso