Como configurar un campo de una tabla para que traiga los datos de otra tabla?

Estoy aprendiendo a trabajar con PHP y MySQL, en el tutorial que estoy haciendo me surge una duda. Estoy creando una BD en MySQL con WampServer para trabajarla con PHP, ya he creado varias tablas, pero necesito que un campo de la Tabla "A" este relacionado con la información de la tabla "B". Me explico, seria algo parecido a tener en Excel una lista desplegable utilizando la información que tengo en otra hoja.

En el momento que el usuario este diligenciando el formulario pueda seleccionar algún dato de los que ya he ingresado previamente en la tabla "B", ejemplo: En esta tabla ingrese datos como "Niño", "Joven", "Adulto" y "adulto Mayor", quiero que en el momento de diligenciar el formulario, el usuario pueda seleccionar alguna de estas opciones que ingrese.

3 Respuestas

Respuesta
1

Cuando intente hacer eso que comentas, me tope sobre todo con el problema de servicios, a veces los nombres de los usuarios difieren de una cuenta a otra en un hosting, y si están en diferentes cuentas tendrás que solicitar soporte de el lado de los administradores del servidor para que te configuren los permisos de un usuario que pueda acceder a ambas bases de datos sin problemas.

Ahora, el tipo de conexión que tienes que hacer es conexión no persistente para que te permita manipular dos bases de datos a la vez, si lo haces persistente no te dejara cambiar de una a otra base de datos.

Seria más sencillo si las bases de datos están en el mismo servidor

Otra idea es que si tienes problemas de conexión entre bases de datos intenta por ejemplo haciendo un php que genere el comboque necesitas e inclúyelo desde el otro sitio web.

Respuesta
2

Lo que deseas hacer es así:

1. Haces la consulta a tu tabla:

include('../Connections con la BBDD/myconexion admin.php');
mysql_select_db($database_myconexion, $myconexion);
$query_Recordset2 = "SELECT DISTINCT id,nombre,propiedad FROM tabla_participacion WHERE propiedad = '$id_prop' AND activo = 'S' GROUP BY nombre ORDER BY nombre ASC";
$Recordset2 = mysql_query($query_Recordset2, $myconexion) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);

luego en el formulario, creas un campo de selección dinámico:

<form name="form1" method="post" action="tablas de Participacion - Consultar Elejida.php">
            <h3>Elija la Tabla de Participación</h3>
            <p>
  <select name="tabla" id="tabla">
    <?php
do {  
?>
    <option value="<?php echo $row_Recordset2['nombre']?>"><?php echo $row_Recordset2['nombre']?></option>
    <?php
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
  $rows = mysql_num_rows($Recordset2);
  if($rows > 0) {
      mysql_data_seek($Recordset2, 0);
      $row_Recordset2 = mysql_fetch_assoc($Recordset2);
  }
?>
  </select>
            <label>
              <input type="submit" name="button2" id="button2" value="Continuar">
              </label>
            </p>
          </form>

Lo acomodas a tus necesidades...

SiREZ

Respuesta
1

Yo creo que tu problema es básicamente de base de datos. Si quieres traer datos de dos tablas (Tabla A interceptado con tabla B) y ponerlas en otra tabla (tabla c), tienes que realizar una consulta con INNER JOIN. Una vez tengas todos los datos, con PHP traes todo en un Array (usa PDO, ya que los otros métodos están quedando obsoletos) y eliges que quieres mostrar y en qué momento.
Si no es así, entonces, detalla un poco más tu duda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas