Foros del Web » Programando para Internet » PHP »

Crear tablas de forma dinámica según id de otra tabla

Estas en el tema de Crear tablas de forma dinámica según id de otra tabla en el foro de PHP en Foros del Web. Buenos días. Necesito relacionar el id de una tabla ya creada con el mismo id que da nombre a un botón para que se cree ...
  #1 (permalink)  
Antiguo 12/06/2014, 04:46
 
Fecha de Ingreso: junio-2014
Mensajes: 101
Antigüedad: 9 años, 10 meses
Puntos: 0
Crear tablas de forma dinámica según id de otra tabla

Buenos días.

Necesito relacionar el id de una tabla ya creada con el mismo id que da nombre a un botón para que se cree otra tabla diferente de nombre mac1, mac2...

Esto es lo que tengo:

Id MAC Crear tabla
1 00_1C_34_15_9A_B7 botón1
2 00_1D_34_18_9A_B7 botón2
...


Esto es lo que necesito:

Crear tabla
botón1 => Necesito que me cree una tabla de nombre MAC(1)
botón2 => Necesito que me cree una tabla de nombre MAC(2)
...

El problema es que lo tengo creado de forma estática debiendo crear un php para cada botón (y por tanto por cada dispositivo) que tengamos, pero en mi caso no se cuántos dispositivos tendré y se crea una nueva línea en la tabla con la información y los botones cada vez que se conecta un dispositivo nuevo. Lo que necesito es, que al pulsar el botón 1, mi php único sepa que tiene que llamar a la tabla con el nombre de la MAC perteneciente a ese id.

Tengo claro qué es lo que necesito, pero después de conseguir q haga lo que quiero para un dispositivo, no sé como dotar mi programa de ese dinamismo...supongo que esto ya estará inventado pero estoy bloqueada. Alguna idea? Sería complicado hacer lo que pretendo?
Muchas gracias por adelantado!!
  #2 (permalink)  
Antiguo 12/06/2014, 05:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Crear tablas de forma dinámica según id de otra tabla

Suponiendo que la información la obtienes de un array o de una consulta a base de datos, el proceso es muy similar, la única diferencia sería la forma de recorrer los elementos:

Código PHP:
Ver original
  1. <?php
  2. // Origen de datos: Mysql, con la obsoleta librería MySQL
  3. $query = "SELECT * FROM dispositivos";
  4. $res = mysql_query($query) or die('Error en consulta: ' . mysql_error());
  5. ?>
  6. <table>
  7. <tr>
  8.     <th>#</th>
  9.     <th>MAC</th>
  10.     <th>Acciones</th>
  11. </tr>
  12. <?php
  13. while($row = mysql_fetch_assoc($res)) {
  14.     echo <<<EOT
  15.         <tr>
  16.              <td>{$row['id']}</td>
  17.              <td>{$row['mac']}</td>
  18.              <td><a href="detalle.php?id={$row['id']}">Ver detalle</a></td>
  19.         </tr>
  20. EOT;
  21. }
  22. ?>
  23. </table>

Después, en detalle.php obtienes la ID desde $_GET['id'] y muestras la tabla del dispositivo en cuestión.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 12/06/2014, 06:00
 
Fecha de Ingreso: junio-2014
Mensajes: 101
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Crear tablas de forma dinámica según id de otra tabla

Lo siento mucho...no me he dado cuenta de poner que quería crear las tablas en mysql... =S

Este es el php que me crea la tabla y que necesito que sea dinámico según el botón que se pulse (id = 1, id = 2...)

Código PHP:
Ver original
  1. //Conectamos con la bbdd
  2. $enlace = mysql_connect('localhost', 'root', '');
  3.  
  4. //Seleccionamos la BBDD
  5. mysql_select_db("video");
  6.  
  7. // Create table
  8. $sql = "CREATE TABLE MAC1
  9. (
  10. MAC VARCHAR(20),
  11. Contenido VARCHAR(50),
  12. Fecha_de_creacion DATETIME DEFAULT NULL ,
  13. Actualizacion CHAR(2)
  14. )";
  15.  
  16. mysql_query($sql,$enlace);

Este es el php que crea el botón cada vez que se inserta un nuevo usuario en la tabla mysql:

Código PHP:
Ver original
  1. class seleccionar{
  2.         function phpseleccionar(){
  3.             $host = "localhost";
  4.             $user = "root";
  5.             $pw = "";
  6.             $db = "video";
  7.             $con = mysql_connect($host, $user, $pw) or die ("No se pudo conectar a la BBDD<br>");
  8.             mysql_select_db($db, $con) or die ("No se encontró la BBDD<br>");
  9.            
  10.             $query = "SELECT id FROM dispositivos";
  11.             $resultado = mysql_query($query);
  12.            
  13.             while($fila = mysql_fetch_array($resultado)){
  14.            
  15.                 echo "<tr>";
  16.                
  17.                 echo "<td align = 'center'>";
  18.                 echo "<form action = 'crear_tabla.php' method = 'post'>";
  19.                 echo '<input type = "hidden" name = "mac_address" value = "'.$fila['id'].'">';
  20.                 echo '<input type = "submit" value = "'.$fila['id'].'" />';
  21.                 echo "</form>";
  22.                 echo "</td>";
  23.         }
  24.     }

Última edición por elitown87; 12/06/2014 a las 06:04 Razón: confusión en código

Etiquetas: forma, según, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:50.