Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2011, 03:59
Avatar de sylwiatam
sylwiatam
 
Fecha de Ingreso: abril-2011
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Información Como puedo cojer los valores de tres tablas??

Hola necesito vuestra ayuda porque levo ya dos dias y no se como hacerlo a ver necesito cojer distintos valores de tres tablas diferentes y juntarlos en una, ya que lo que quiero hacer es una consulta. La consulta tiene que visualizar Nombre_Menu,Precio_Menu,Nombre_Producto,Unidades_P roducto. os dejo los datos de las tablas: de la tabla detalle_menu tengo que cojer Codigo_Menu y Codigo_Producto y las Unidades creo esq tengo un lio. a ver dejo las tablas:


INSERT INTO `detalle_menu` (`Codigo_Producto`, `Codigo_Menu`, `Unidades_Producto`) VALUES
('026', 1, 1),
('021', 1, 1),
('029', 3, 1),
('027', 4, 1),
('025', 4, 1),
('030', 2, 2),
('023', 2, 4),
('025', 3, 1),
('029', 5, 1),
('024', 5, 2);



La segunda tabla es menu:Hacedo con el Codigo_Menu que a su vez tiene Codigo_Producto.


INSERT INTO `menu` (`Codigo_Menu`, `Nombre_Menu`, `Precio_Menu`) VALUES
(1, 'Menu Infantil', 3.99),
(2, 'Menu Familiar', 10.99),
(3, 'Menu Verano', 6.99),
(4, 'Menu Especial', 7.99),
(5, 'Menu economico', 4.99);


y esta es la del os productos: Hacedo con el Codigo_Producto.



INSERT INTO `producto` (`Codigo_Producto`, `Nombre_Producto`, `Descripcion_Producto`, `PVP_Producto`, `Unidades_en_Almacen`) VALUES
('001', 'Aritos de cebolla 250g', 'Aritos de cebolla', 2.99, 20),
('002', 'Aritos de cebolla 500g', 'Aritos de cebolla', 3.5, 30),
('003', 'Aritos de cebolla 1kg', 'Aritos de cebolla ', 5, 14),
('004', 'patatas fritas 250g', 'patatas fritas', 1, 20),
('005', 'patatas fritas 500g', 'patatas fritas', 2.75, 30),
('006', 'patatas fritas 1kg', 'patatas fritas', 5.3, 5),
('007', 'pizza barbacoa pequeña', 'pizza barbacoa', 7.99, 5),
('008', 'pizza barbacoa mediana', 'pizza barbacoa', 12, 5),
('009', 'pizza barbacoa grande', 'pizza barbacoa ', 16, 5),
('010', 'pizza barbacoa gigante', 'pizza barbacoa', 21, 5),
('011', 'pizza jamon y queso peque', 'pizza jamon y queso', 7.99, 10),
('012', 'pizza jamon y queso media', 'pizza jamon y queso', 12.5, 10),
('013', 'pizza jamon y queso grand', 'pizza jamon y queso', 18, 8),
('014', 'pizza jamon y queso gigan', 'pizza jamon y queso', 22.5, 10),
('015', 'pizza bacon atun pequeña', 'pizza bacon atun', 7.8, 6),
('016', 'pizza bacon atun mediana', 'pizza bacon atun', 10, 8),
('017', 'pizza bacon atun grande', 'pizza bacon atun', 15, 6),
('018', 'pizza bacon atun gigante', 'pizza bacon atun', 20, 20),
('019', 'cerveza pequeña', 'cerveza', 3, 14),
('020', 'cerveza grande', 'cerveza', 4.5, 14),
('021', 'coca cola 33cl', 'refresco coca cola lata de 33 cl paquete 20', 0.99, 30),
('022', 'fanta naranja', 'refresco fanta naranja lata 33cl paquete 20 uds', 0.99, 30),
('023', 'coca cola light 33cl', 'refresco coca cola light 33 cl paquete 20 uds', 0.99, 20),
('024', 'coca cola zero 33 cl', 'refresco coca cola zero 33 cl paquete 20 uds', 0.99, 12),
('025', 'fanta limon 33 cl', 'refresco fanta limon 33 cl paquete 20 uds', 0.99, 10),
('026', 'Pizza Margarita Pequeña', 'Mozzarella,Tomate,Oregano', 7, 0),
('027', 'Pizza Margarita Mediana', 'Mozarella,Tomate,Oregano', 12, 0),
('028', 'Pizza Margarita Grande', 'Mozarella,Tomate,Oregano', 18, 0),
('029', 'Pizza Hawayana Mediana', 'Mozarella,Piña,Jamon York', 8, 0),
('030', 'Pizza Hawayana Grande', 'Mozarella,Piña,Jamon York', 16, 5),
('031', 'Pizza Caprichosa Mediana', 'Mozarella,Oregano,Jamon York,Bacon,Ternera,Champiñ', 0.99, 0),
('032', 'Pizza Caprichosa Grande', 'Mozarella,Oregano,Jamon York,Bacon,Ternera,Champiñ', 0.99, 0),
('033', 'Pizza Barbacoa Pequeña', 'Salsa Barbacoa,Mozarella,Oregano,Ternera,Bacon,Mai', 0.99, 0),
('034', 'Pizza Barbacoa Mediana', 'Salsa Barbacoa,Mozarella,Oregano,Ternera,Bacon,Mai', 0.99, 0),
('035', 'Pizza Diabola Mediana', 'Mozarella,Bacon,Aceituna,Tabasco,Guindilla Picante', 0.99, 0);

Se supone que tienen que aparecer los productos que coinciden con el menu y precio del menu.


Este es el codigo que intente hacer una chapuza ya lo se pero no se como hacerlo ayuden porafa :(


<style type="text/css">
<!--
body,td,th {
color: #000000;
}
body {
background-color: #CCCCCC;
}
-->
</style><?php
$servidor="localhost";
$basededatos="bd_pizzeria";
$usuario="root";
$password="";

$conexion=mysql_connect($servidor, $usuario, $password)
or die ("No se pudo realizar la conexión al servidor");
mysql_select_db($basededatos)
or die ("No se pudo abrir la base de datos");

echo "<body bgcolor=\"#5080e7\">";
echo "<center><font size=6 color=blue>Consulta de Menu<br><BR></font>";



$c1="SELECT Cdigo_Menu, Codigo_Producto ,Unidades_Producto, Nombre_Producto, Nombre_menu ,Precio_Menu FROM detalle_menu A,producto B ,menu C WHERE Codigo_Producto=026 AND Codigo_Producto A= Codigo_Menu A AND Codigo_Menu A=Nombre_Menu C AND Codigo_Producto B= Nombre_Producto B";
echo $c1;
$r1=mysql_query($c1);
$num_campos=mysql_num_fields($r1);

echo "<table border=\"1\">";
echo "<tr>";

//$valores=array('Nombre_Menu','Precio_Menu','Nombre _Producto','Unidades_Producto');
$valores=array ('Cdigo_Menu','Codigo_Producto','Unidades_Producto ','Nombre_Producto','Nombre_menu','Precio_Menu');

for ($i=0;$i<$num_campos;$i++){
echo "<td>";
echo $valores[$i];
echo "</td>";
}
echo "</tr>";

while ($fila1=mysql_fetch_array($r1)){
echo "<tr>";
for ($i=0;$i<$num_campos;$i++){
echo "<td>";
echo $fila1[$i];
echo "</td>";
}
echo "</tr>";
}





// $c1="SELECT Nombre_Menu,Precio_Menu,Nombre_Producto,Unidades_P roducto FROM menu,producto,detalle_pedido_cliente";
/* $r1=mysql_query($c1);
$num_campos=mysql_num_fields($r1);

echo "<table border=\"1\">";
echo "<tr>";

$valores=array('Nombre_Menu','Precio_Menu','Nombre _Producto','Unidades_Producto');


for ($i=0;$i<$num_campos;$i++){
echo "<td>";
echo $valores[$i];
echo "</td>";
}
echo "</tr>";

while ($fila1=mysql_fetch_array($r1)){
echo "<tr>";
for ($i=0;$i<$num_campos;$i++){
echo "<td>";
echo $fila1[$i];
echo "</td>";
}
echo "</tr>";
}


/*
/* $c2="SELECT Nombre_Producto FROM producto";
$r2=mysql_query($c2);
$num_campos=mysql_num_fields($r2);

echo "<table border=\"1\">";
echo "<tr>";

$valores=array('Nombre_Producto');


for ($i=0;$i<$num_campos;$i++){
echo "<td>";
echo $valores[$i];
echo "</td>";
}
echo "</tr>";

while ($fila1=mysql_fetch_array($r2)){
echo "<tr>";
for ($i=0;$i<$num_campos;$i++){
echo "<td>";
echo $fila1[$i];
echo "</td>";
}
echo "</tr>";
}
*/

echo "</body>";

?>