Foros del Web » Programando para Internet » PHP »

Consultar registros de varias tablas en mysql

Estas en el tema de Consultar registros de varias tablas en mysql en el foro de PHP en Foros del Web. Hola hermanos de la comunidad...tengo una duda para ver si me ayudan es sobre la consulta de MySQL sobre consultar los registros en varias tablas. ...
  #1 (permalink)  
Antiguo 01/09/2008, 20:19
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Consultar registros de varias tablas en mysql

Hola hermanos de la comunidad...tengo una duda para ver si me ayudan es sobre la consulta de MySQL sobre consultar los registros en varias tablas.
La Base de Datos se llama unidades y estas son, 6 tablas;

tabla: identificacion

unidad ----------> PRIMARY KEY
codclase
codtipo
codmarca
codmodelo
serial_carroceria
serial_motor
num_placa
año
color
codseccion

tabla: clase

codclase---------->PRIMARY KEY
descripcion

tabla: tipo
codtipo------------>PRIMARY KEY
descripcion

tabla: marca
codmarca------------>PRIMARY KEY
descripcion

tabla: modelo
codmodelo------------>PRIMARY KEY
descripcion

tabla: seccion
codseccion------------>PRIMARY KEY
descripcion

Quiero hacer la consulta desde la primera tabla como principal relacionandola con las variables que comienzan por codclase, codtipo, codmarca, codmodelo y codseccion de sus respectivas para que me muestren su valor ya que su valor lo guardan en sus tablas repectivas.

la consulta la hice asi, pero no se como arreglarla y me daba varios errores

Código PHP:
<?php
// Rescatar Variables del Formulario
include ('conexion_bd.php');
$link=Conectarse();
$txtUnidad$_GET['txtUnidad'];

$consulta="SELECT identificacion.unidad, clase.codclase, tipo.codtipo, 
marca.codmarca, modelo.codmodelo, identificacion.serial_carroceria, 
identificacion.serial_motor, identificacion.num_placa, 
identificacion.año, identificacion.color, seccion.codseccion 
FROM identificacion JOIN clase ON identificacion.unidad=clase.codclase 
JOIN tipo ON identificacion.unidad=tipo.codtipo JOIN
marca ON identificacion.unidad=marca.codmarca JOIN modelo ON identificacion.unidad=modelo.codmodelo 
JOIN seccion ON identificacion.unidad=seccion.codseccion WHERE identificacion.unidad='$txtUnidad'"
;

$tabla=mysql_query($consulta,$link) or die( "Error en consulta: $consulta, error: " mysql_error() );
?>

<table border="1">
  <tr>
    <td>Identificacion de la unidad</td>
  </tr>
<?php

while($datos=mysql_fetch_array($tabla))
{
//echo "<table border="1">";
    
echo "<tr>";
        echo 
"<td>Unidad: ".$datos['unidad']."</td>";
        echo 
"<td>Clase: ".$datos['codclase']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Tipo: ".$datos['codtipo']."</td>";
        echo 
"<td>Marca: ".$datos['codmarca']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Modelo: ".$datos['codmodelo']."</td>";
        echo 
"<td>Serial de Carroceria: ".$datos['serial_carroceria']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Serial de Motor: ".$datos['serial_motor']."</td>";
        echo 
"<td>Placa: ".$datos['num_placa']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>A&ntilde;o: ".$datos['año']."</td>";
        echo 
"<td>Color: ".$datos['color']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Secci&oacute;n: ".$datos['codseccion']."</td>";
    echo 
"</tr>";
//echo "</table>";
}

mysql_close($link);
?>
</table>
Dice que se conecta con la base de datos y abajo muestra este error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\proyecto\buscar.php on line 35

y de bajo del Warning me muestra nada mas la celda de la primera columna la que dice <td> identificacion de la unidad </td> y las demas no las muestra.

De antemano le agradezco el que me pueda ayudar, estoy novato hermanos..se los agradecere con gusto

Última edición por DjKelvim; 06/09/2008 a las 12:22 Razón: Cambios en la variable $tabla y el sql
  #2 (permalink)  
Antiguo 01/09/2008, 20:33
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

el mysql_fetch_array te devuelve un error por que la consulta no esta bien hecha y seguramente no se esta ejecutando como MySQL manda, una recomendacion es que, antes de programar la consulta, primero la hagas en un gestor de querys, como el mysql query browser para que te asegures que la consulta esta bien hecha, y despues la llevas a php...
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #3 (permalink)  
Antiguo 02/09/2008, 02:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Consultar registros de varias tablas en mysql

Aquí no se ve qué relación hay en los datos de la tabla principal (identificación) y las auxiliares, es decir, no dices que información respecto a la principal almacenas en las auxiliares. ¿Se trata de un repositorio de los valores posibles de los campos? ¿en la principal estos valores están representados por un código que debe ser cotejado en las auxiliares?...

Si indicas eso te podemos ayudar a configurar la query que en este caso es totalmente errónea, pero del todo. Te recomiendo que primero te mires un manual e intentes componerla tú.
  #4 (permalink)  
Antiguo 02/09/2008, 04:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 21
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Consultar registros de varias tablas en mysql

Hola,

No se si te serviria esta logica... pero a mi me gusta mas trabajar de esta forma.

Yo creo una funcion, que va llamar la tabla: identificacion, si las relaciones se han hecho correctamente puedes hacer mini funciones para recoger los valores en las otras tablas.

Código PHP:
function tabla_identificacion() {

    require_once (
'class/databaseConfig.php');
    
    
$query "select * from identificacion";
    
$result mysql_query($query);
    
$num mysql_num_rows($result);

    if(
$num ){
        while(
$row mysql_fetch_array$result )) {
            
$idKey    $row['idKey'];

                        
$clase tabla_identicacion_clase($idKey);
                        
$tipo tabla_identicacion_tipo($idKey);

                        
// tienes que seguir creando las funciones y recogiendo los valores
        
                        // despues creas tu tabla de datos para devolver aqui usando echo

                
}
    }
}





function 
tabla_identicacion_clase($idKey) {
$query "select * from clase where idKey = '".$idKey."'";
}

function 
tabla_identicacion_tipo($idKey) {
$query "select * from tipo where idKey = '".$idKey."'";

  #5 (permalink)  
Antiguo 05/09/2008, 18:52
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Compañeros logre acomodar la query..y probe la consulta osea la query en phpmyadmin y todo bien...
Revisen el Sql del script de arriba que publique, lo actualice y por favor chequeen.

pero cuando ejecuto los scripts

todavia aparece el mismo error:

Conexión con la base de datos conseguida.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\proyecto\buscar.php on line 36
error:
Identificacion de La Unidad
  #6 (permalink)  
Antiguo 06/09/2008, 03:37
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: Consultar registros de varias tablas en mysql

tu error es el siguiente:

Código PHP:
$tabla=mysql_query($consulta,$link); 
while(
$datos=mysql_fetch_array($resultado)) 
al macenas toda la consulta en la variable $tabla, pero luego, para imprimirla en el while, lees una variable llamada $resultado, que no contiene nada.. modifica de esta forma

Código PHP:
$tabla=mysql_query($consulta,$link); 
while(
$datos=mysql_fetch_array($tabla)) 
  #7 (permalink)  
Antiguo 06/09/2008, 09:42
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

gracias por responder....pero ese error ya lo habia corregido antes...el error todavia lo muestra hector2c
  #8 (permalink)  
Antiguo 06/09/2008, 10:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Consultar registros de varias tablas en mysql

Prueba cambiar así la línea de la consulta:

Código PHP:
$tabla=mysql_query($consulta,$link) or die( "Error en consulta: $consulta, error: " mysql_error() ); 
Saludos.
  #9 (permalink)  
Antiguo 06/09/2008, 12:04
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Gracias coloque el script que pusiste GatorV no muestra ningun error pero la consulta no me arroja ningun resultado de los datos que busco que estan almacenados.

Por favor Revisen el codigo y me dicen...
  #10 (permalink)  
Antiguo 06/09/2008, 13:44
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Consultar registros de varias tablas en mysql

Código:
$consulta="SELECT identificacion.unidad, clase.codclase, tipo.codtipo, 
marca.codmarca, modelo.codmodelo, identificacion.serial_carroceria, 
identificacion.serial_motor, identificacion.num_placa, 
identificacion.año, identificacion.color, seccion.codseccion 
FROM identificacion JOIN clase ON identificacion.unidad=clase.codclase 
JOIN tipo ON identificacion.unidad=tipo.codtipo JOIN
marca ON identificacion.unidad=marca.codmarca JOIN modelo ON identificacion.unidad=modelo.codmodelo 
JOIN seccion ON identificacion.unidad=seccion.codseccion WHERE identificacion.unidad=$txtUnidad";
Prueba con esta:
En la consulta solo le quite las comillas en la ultima variable (que no debe llevarlas).
__________________
-
  #11 (permalink)  
Antiguo 06/09/2008, 14:07
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Gracias CrepitantE lo hice pero sucede lo mismo que antes que con las comillas..no muestra los resultados de la busqueda.....
  #12 (permalink)  
Antiguo 06/09/2008, 14:17
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Consultar registros de varias tablas en mysql

Código:
$consulta="SELECT identificacion.unidad, clase.codclase, tipo.codtipo, 
marca.codmarca, modelo.codmodelo, identificacion.serial_carroceria, 
identificacion.serial_motor, identificacion.num_placa, 
identificacion.año, identificacion.color, seccion.codseccion 
FROM identificacion JOIN clase ON identificacion.unidad=clase.codclase 
JOIN tipo ON identificacion.unidad=tipo.codtipo JOIN
marca ON identificacion.unidad=marca.codmarca JOIN modelo ON identificacion.unidad=modelo.codmodelo 
JOIN seccion ON identificacion.unidad=seccion.codseccion WHERE identificacion.unidad= ".$txtUnidad;
Tambien me equivoque en el anterior codigo
Lo revise nuevamente, intenta con este, y despues comentas que paso.
__________________
-
  #13 (permalink)  
Antiguo 06/09/2008, 14:37
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

CrepitantE gracias de nuevo lo hice pero todavia sigue sin mostrar los reultados de la busqueda...
  #14 (permalink)  
Antiguo 06/09/2008, 15:03
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Consultar registros de varias tablas en mysql

Has esta prueba y dime si te imprime algo, esto ayudara a identificar donde se encuentra el posible error:

Código PHP:
 $consulta "select * from identificacion"
y le cambias esta linea

Código PHP:
//echo "<table border="1">";
    
echo "<tr>";
        echo 
"<td>Unidad: ".$datos['unidad']."</td>";
        echo 
"<td>Clase: ".$datos['codclase']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Tipo: ".$datos['codtipo']."</td>";
        echo 
"<td>Marca: ".$datos['codmarca']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Modelo: ".$datos['codmodelo']."</td>";
        echo 
"<td>Serial de Carroceria: ".$datos['serial_carroceria']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Serial de Motor: ".$datos['serial_motor']."</td>";
        echo 
"<td>Placa: ".$datos['num_placa']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>A&ntilde;o: ".$datos['año']."</td>";
        echo 
"<td>Color: ".$datos['color']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Secci&oacute;n: ".$datos['codseccion']."</td>";
    echo 
"</tr>";
//echo "</table>"; 
por esta

Código PHP:
//echo "<table border="1">";
    
echo "<tr>";
        echo 
"<td>Unidad: ".$datos['unidad']."</td>";
        echo 
"<td>Clase: ".$datos['codclase']."</td>";
    echo 
"</tr>";
    
//echo "</table>"; 
Cuentame si te imprimio algo.
Solo quiero saber si el error radica en la consulta o en la conexión a la base de datos
__________________
-
  #15 (permalink)  
Antiguo 06/09/2008, 15:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Consultar registros de varias tablas en mysql

¿Haz intentado una consulta como la siguiente?

Cita:
SELECT * FROM identificacion, clase, tipo, marca, modelo, seccion WHERE identificacion.codclase=clase.codclase AND identificacion.codtipo=tipo.codtipo AND identificacion.codmarca= marca.codmarca AND identificacion.codmodelo=modelo.codmodelo AND identificacion.codseccion=seccion.codseccion
  #16 (permalink)  
Antiguo 06/09/2008, 15:25
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Con esto quedo muy bien CrepitantE lo que hiciste lo probe esta muy bien....no hay errores y muestra los resultados que estan en la tabla...

Pero yo en realidad lo que busco es mostrar el campo decripcion de las tablas clase, tipo, marca, modelo y seccion; es decir que en el resultado de la busqueda me muestre en vez de codclase es 1, muestre la descripcion que seria 'Pick-Up Cabina Doble',
Y asi mismo para codtipo que es 2, mostrar campo descripcion que vale 'Camion'
Y viceversa como haria eso

Aqui te dejo la BD:
Código PHP:
-- phpMyAdmin SQL Dump
-- version 2.10.0.2
-- http://www.phpmyadmin.net
-- 
-- 
Servidorlocalhost
-- Tiempo de generaci&#243;n: 06-09-2008 a las 18:34:02
-- Versi&#243;n del servidor: 5.0.37
-- Versi&#243;n de PHP: 5.2.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- 
Base de datos: `unidades`
-- 

-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `clase`
-- 

CREATE TABLE `clase` (
  `
codclasetinyint(4NOT NULL auto_increment,
  `
descripcionvarchar(30NOT NULL COMMENT 'Cabina Doble',
  
PRIMARY KEY  (`codclase`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

-- 
-- 
Volcar la base de datos para la tabla `clase`
-- 

INSERT INTO `claseVALUES (1'Pick-Up Cabina Doble');
INSERT INTO `claseVALUES (2'Pick-Up Cabina Simple');
INSERT INTO `claseVALUES (3'Carga');
INSERT INTO `claseVALUES (4'Tipo Cesta');
INSERT INTO `claseVALUES (7'Grua');
INSERT INTO `claseVALUES (8'Tipo Grua');
INSERT INTO `claseVALUES (9'Sedan 4 Puertas');
INSERT INTO `claseVALUES (10'4x4 Sencillo');
INSERT INTO `claseVALUES (11'Maquinaria Agricola');

-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `identificacion`
-- 

CREATE TABLE `identificacion` (
  `
unidadvarchar(7NOT NULL,
  `
codclasetinyint(4NOT NULL,
  `
codtipotinyint(4NOT NULL,
  `
codmarcatinyint(4NOT NULL,
  `
codmodelotinyint(4NOT NULL,
  `
serial_carroceriavarchar(17NOT NULL,
  `
serial_motorvarchar(17NOT NULL,
  `
num_placavarchar(7NOT NULL,
  `
anioyear(4NOT NULL,
  `
colorvarchar(20NOT NULL,
  `
codsecciontinyint(4NOT NULL,
  
PRIMARY KEY  (`unidad`)
ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- 
-- 
Volcar la base de datos para la tabla `identificacion`
-- 

INSERT INTO `identificacionVALUES ('1234456'31213'87Y897TUGTT87YO8Y''65E5VE5W4WFGBNG87''GH9-89L'1998'ROJO'2);
INSERT INTO `identificacionVALUES ('6578876'31213'y9ret45678yougfxd''gyutu6r67rv67578v''nm8-97i'1997'rojo'2);
INSERT INTO `identificacionVALUES ('1224537'41420'64YR8HD83Y74T473I''73HF8302HET645232''JK9-56Y'2003'BLANCO'2);
INSERT INTO `identificacionVALUES ('9083358'1470'7834HT5U59U684IU8''475F756F54895F4JY''AS-89L'1996'VERDE'3);

-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `marca`
-- 

CREATE TABLE `marca` (
  `
codmarcatinyint(4NOT NULL auto_increment,
  `
descripcionvarchar(30NOT NULL,
  
PRIMARY KEY  (`codmarca`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

-- 
-- 
Volcar la base de datos para la tabla `marca`
-- 

INSERT INTO `marcaVALUES (1'Chevrolet');
INSERT INTO `marcaVALUES (2'Ford');
INSERT INTO `marcaVALUES (3'Grove');
INSERT INTO `marcaVALUES (4'International');
INSERT INTO `marcaVALUES (5'Jhon Deere');
INSERT INTO `marcaVALUES (6'Nissan');
INSERT INTO `marcaVALUES (7'Toyota');

-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `modelo`
-- 

CREATE TABLE `modelo` (
  `
codmodelotinyint(4NOT NULL auto_increment,
  `
descripcionvarchar(20NOT NULL,
  
PRIMARY KEY  (`codmodelo`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;

-- 
-- 
Volcar la base de datos para la tabla `modelo`
-- 

INSERT INTO `modeloVALUES (1'Corolla');
INSERT INTO `modeloVALUES (2'Hilux DC');
INSERT INTO `modeloVALUES (3'Hilux 4x4 Automatico');
INSERT INTO `modeloVALUES (4'Hilux 4x2 Automatico');
INSERT INTO `modeloVALUES (9'Hilux 4x4 Manual');
INSERT INTO `modeloVALUES (10'Hilux 4x2 Manual');
INSERT INTO `modeloVALUES (11'Hembrita');
INSERT INTO `modeloVALUES (12'F-150');
INSERT INTO `modeloVALUES (13'F-350');
INSERT INTO `modeloVALUES (14'F-750');
INSERT INTO `modeloVALUES (15'Land Colorado');
INSERT INTO `modeloVALUES (16'Pick-Up');
INSERT INTO `modeloVALUES (17'Ranger');
INSERT INTO `modeloVALUES (18'Techo Duro');
INSERT INTO `modeloVALUES (19'TMS-250C');
INSERT INTO `modeloVALUES (20'4900');
INSERT INTO `modeloVALUES (21'6605');
INSERT INTO `modeloVALUES (22'6610');

-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `seccion`
-- 

CREATE TABLE `seccion` (
  `
codsecciontinyint(4NOT NULL auto_increment,
  `
descripcionvarchar(50NOT NULL,
  
PRIMARY KEY  (`codseccion`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

-- 
-- 
Volcar la base de datos para la tabla `seccion`
-- 

INSERT INTO `seccionVALUES (1'Departamento Mantenimiento Transmision Centro - Ge');
INSERT INTO `seccionVALUES (2'Mantenimiento de Lineas');
INSERT INTO `seccionVALUES (3'Apoyo Tecnico y Logistico');
INSERT INTO `seccionVALUES (4'Mantenimiento de Sub-Estacion San Geronimo A');
INSERT INTO `seccionVALUES (5'Mantenimiento de Sub-Estacion San Geronimo B');
INSERT INTO `seccionVALUES (6'Mantenimiento de Sub-Estacion La Horqueta');
INSERT INTO `seccionVALUES (7'Mantenimiento de Sub-Estacion Santa Teresa');
INSERT INTO `seccionVALUES (8'Mantenimiento de Sub-Estacion Sur');

-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `tipo`
-- 

CREATE TABLE `tipo` (
  `
codtipotinyint(4NOT NULL auto_increment,
  `
descripcionvarchar(30NOT NULL,
  
PRIMARY KEY  (`codtipo`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

-- 
-- 
Volcar la base de datos para la tabla `tipo`
-- 

INSERT INTO `tipoVALUES (1'Camion');
INSERT INTO `tipoVALUES (2'Camion Grua');
INSERT INTO `tipoVALUES (3'Land Cruiser');
INSERT INTO `tipoVALUES (4'Pick-Up');
INSERT INTO `tipoVALUES (5'Grua TMS-250');
INSERT INTO `tipoVALUES (6'Rustico');
INSERT INTO `tipoVALUES (7'Tractor Agricola');
INSERT INTO `tipoVALUES (8'Sedan'); 

Última edición por DjKelvim; 06/09/2008 a las 15:46
  #17 (permalink)  
Antiguo 06/09/2008, 16:10
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Consultar registros de varias tablas en mysql

Vuelve a restablecer por este codigo:
Código PHP:
//echo "<table border="1">";
    
echo "<tr>";
        echo 
"<td>Unidad: ".$datos['unidad']."</td>";
        echo 
"<td>Clase: ".$datos['codclase']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Tipo: ".$datos['codtipo']."</td>";
        echo 
"<td>Marca: ".$datos['codmarca']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Modelo: ".$datos['codmodelo']."</td>";
        echo 
"<td>Serial de Carroceria: ".$datos['serial_carroceria']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Serial de Motor: ".$datos['serial_motor']."</td>";
        echo 
"<td>Placa: ".$datos['num_placa']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>A&ntilde;o: ".$datos['anio']."</td>";
        echo 
"<td>Color: ".$datos['color']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
        echo 
"<td>Secci&oacute;n: ".$datos['codseccion']."</td>";
    echo 
"</tr>";
//echo "</table>"; 
En la consulta intentas estas dos opciones (Primero una y despues la otra):

1.
Código PHP:
$consulta="SELECT identificacion.unidad, clase.codclase, tipo.codtipo, 
marca.codmarca, modelo.codmodelo, identificacion.serial_carroceria, 
identificacion.serial_motor, identificacion.num_placa, 
identificacion.año, identificacion.color, seccion.codseccion 
FROM identificacion JOIN clase ON identificacion.unidad=clase.codclase 
JOIN tipo ON identificacion.unidad=tipo.codtipo JOIN
marca ON identificacion.unidad=marca.codmarca JOIN modelo ON identificacion.unidad=modelo.codmodelo 
JOIN seccion ON identificacion.unidad=seccion.codseccion WHERE identificacion.unidad= "
.$txtUnidad
2.
Código PHP:
$consulta="SELECT identificacion.unidad, identificacion.serial_carroceria, 
identificacion.serial_motor, identificacion.num_placa, 
identificacion.anio, identificacion.color FROM identificacion JOIN clase ON identificacion.unidad=clase.codclase 
JOIN tipo ON identificacion.unidad=tipo.codtipo JOIN
marca ON identificacion.unidad=marca.codmarca JOIN modelo ON identificacion.unidad=modelo.codmodelo 
JOIN seccion ON identificacion.unidad=seccion.codseccion WHERE identificacion.unidad= "
.$txtUnidad
Supongo que deberia funcionar...
__________________
-
  #18 (permalink)  
Antiguo 06/09/2008, 16:22
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Consultar registros de varias tablas en mysql

Utilizas la variable año y mysql no permite ñ's en variables.
Ademas en la base de datos el nombre del año esta como es anio, y de esta forma es como lo puse en el mysql_fetch_array.

El ejemplo (1) que era el que tenias anteriormente pero le corregi la síntaxis de php.

Cree una consulta nueva consulta (2), si no te sirve la primera prueba con esta haber que pasa.

Si no te funciona ninguna de las dos deberias colocar la duda tuya en el subforo MySQL alli hay usuarios que dominan este tema a profundidad, mi nivel en MySQL no es muy profundo sin embargo aprendi algo con este tema.
__________________
-
  #19 (permalink)  
Antiguo 06/09/2008, 16:24
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Gracias por ser constante conmigo CrepitantE....Si lo corregi a tiempo perdon por no decirte..No logra mostrar resultado sigue con las misma problematica del asunto..no me muestra los resultados de la busqueda.

Última edición por DjKelvim; 06/09/2008 a las 16:54
  #20 (permalink)  
Antiguo 07/09/2008, 17:14
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Por favor si alguien sigue aportando y echandome una mano estare infinitamente agradecido y publicare este codigo que estoy desarrollando como un aporte a la comunidad....ando desesperado y tengo una semana trancado en este problema
  #21 (permalink)  
Antiguo 07/09/2008, 21:17
 
Fecha de Ingreso: junio-2008
Ubicación: Maracay
Mensajes: 52
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consultar registros de varias tablas en mysql

Hola todos los colaboradores, gracias a mi perseverancia logre hacer lo que queria con la cosulta..les cuento he añadido alias a los campos de descripcion seleccionados. La razón es que a todos los he llamado descripcion. Podría haberlo hecho trayéndome los datos usando el índice numérico del array, pero es menos claro y los cambios de orden me dieron problemas. Ahora me toca usar esta consulta y mostrar los datos cambiando los nombres de los campos por los alias.

Código PHP:
<?php
// Rescatar Variables del Formulario
include ('conexion_bd.php');
$link=Conectarse();
$txtUnidad$_GET['txtUnidad'];

$consulta="SELECT identificacion.unidad, clase.descripcion as descripcionclase,
 tipo.descripcion as descripciontipo, marca.descripcion as descripcionmarca, 
modelo.descripcion as descripcionmodelo, identificacion.serial_carroceria, 
identificacion.serial_motor, identificacion.num_placa, identificacion.anio, 
identificacion.color, seccion.descripcion as descripcionseccion  
FROM identificacion 
INNER JOIN clase ON clase.codclase = identificacion.codclase 
INNER JOIN tipo ON tipo.codtipo = identificacion.codtipo 
INNER JOIN marca ON identificacion.codmarca = marca.codmarca 
INNER JOIN modelo ON modelo.codmodelo = identificacion.codmodelo 
INNER JOIN seccion ON seccion.codseccion = identificacion.codseccion 
WHERE identificacion.unidad=$txtUnidad"



?>

<table border="1">
  <tr>
    <td align="center">Identificacion de La Unidad</td>
  </tr>
 
<?php
/*echo "<table border=\"1\">";
      echo "<tr>";
      echo "<td>Identificacion</td>";
      echo "</tr>";*/
$tabla=mysql_query($consulta,$link)or die( "Error en consulta: $consulta, error: " mysql_error() );  
while(
$datos=mysql_fetch_array($tabla)) 
{
    echo 
"<tr>";
    echo        
"<td>Unidad: ".$datos['unidad']."</td>";
    echo        
"<td>Clase: ".$datos['descripcionclase']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
    echo        
"<td>Tipo: ".$datos['descripciontipo']."</td>";
    echo        
"<td>Marca: ".$datos['descripcionmarca']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
    echo        
"<td>Modelo: ".$datos['descripcionmodelo']."</td>";
    echo        
"<td>Serial de Carroceria: ".$datos['serial_carroceria']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
    echo        
"<td>Serial de Motor: ".$datos['serial_motor']."</td>";
    echo        
"<td>Placa: ".$datos['num_placa']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
    echo        
"<td>A&ntilde;o: ".$datos['anio']."</td>";
    echo        
"<td>Color: ".$datos['color']."</td>";
    echo 
"</tr>";
    echo 
"<tr>";
    echo        
"<td>Secci&oacute;n: ".$datos['descripcionseccion']."</td>";
    echo 
"</tr>";

}
//echo "</table>";
 
?>
</table>
Mil y millon de gracias a todos los colaboradores en este tema...
gracias por su aporte porque de verdad me sirvieron bastante...
quizas recurra otra vez al foro
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 02:13.