PHP - Fallo en código que inserta una tabla y asigna campos de otra tabla

 
Vista:
sin imagen de perfil

Fallo en código que inserta una tabla y asigna campos de otra tabla

Publicado por Elisa (71 intervenciones) el 13/06/2014 12:18:11
Buenos días.
Tengo varias tablas en mysql con el id como campo principal para mis consultas.

Tabla 1: pcs

Id Dispositivos
1 00_1C_34_15_9A_B7
2 00_1D_34_18_9A_B7

Tabla 2: puertos

id Puerto Puerto_ssh
1 1 2
2 3 4

Tabla 3: Mac1

id MAC Puerto Puerto ssh
1 456

Las dos primeras tablas se encuentran creadas de base, y la tercera la creo yo con el php que mostraré después.
Básicamente lo que quiero es, que al ir un botón a este php, me cree una tabla llamada mac1(la tercera tabla) y le asigne los puertos de la tabla 2 que tengan el mismo id que el de la tabla mac1. El id de la tabla 3, es un INT que le añado yo manualmente.
Cuando el id que meto es 1, el código funciona perfectamente, me asigna los puertos 1 y 2 a la tabla3. Pero cuando el id que meto es el 2, aparecen dos ceros en vez de asignarme los puertos 3 y 4. He repasado el php mil veces y no entiendo que, si hace lo que debe con id = 1, no lo haga con id = 2, o al menos que no funcione bien el código pero me inserte de nuevo los puertos 1 y 2.

Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$sql = "CREATE TABLE MAC1
(
id INT(2),
Nombre VARCHAR(20),
Puerto INT(4),
Puerto_ssh INT(4),
Contenido VARCHAR(50),
Fecha_de_creacion DATETIME DEFAULT NULL ,
Actualizacion CHAR(2)
)";
 
$sql_1 = "SELECT * FROM MAC1";
$result_1 = mysql_query($sql_1);
//$contar_filas_1 = mysql_num_rows($result_1);
 
mysql_query($sql,$enlace);
 
$uno = "1";
mysql_query("INSERT INTO MAC1 VALUES ('$uno', '','','', '', now(), '')");
 
$id_r = "SELECT id FROM pcs";
$resultado = mysql_query($id_r);
$id_pcs = mysql_fetch_array($resultado);
 
$id_MAC = "SELECT id FROM MAC1";
$resultado_MAC = mysql_query($id_MAC);
$id_pcs_MAC = mysql_fetch_array($resultado_MAC);
 
$puertos = "SELECT puerto FROM puertos WHERE id = $id_pcs[id] AND id = $id_pcs_MAC[id] ";
$result_puertos = mysql_query($puertos);
$insert_puertos = mysql_fetch_array($result_puertos);
 
$puertos_ssh = "SELECT puerto_ssh FROM puertos WHERE id = $id_pcs[id] AND id = $id_pcs_MAC[id] ";
$result_puertos_ssh = mysql_query($puertos_ssh);
$insert_puertos_ssh = mysql_fetch_array($result_puertos_ssh);
 
mysql_query("INSERT INTO MAC1 VALUES ('', '','$insert_puertos[puerto]','$insert_puertos_ssh[puerto_ssh]', '', now(), '')");

Me echais una mano porfavor? Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder