PHP - php

   
Vista:

php

Publicado por mace julio cesar macejuliocesar@gmail.com (6 intervenciones) el 16/03/2014 20:32:41
Tengo el siguiente problema con consultas y reporte en php
Tengo 4 tablas
1er tabla
DNI ( Documento de identidad nacional)
Nombre

2da tabla
DNI
Altura
peso

3er tabla
DNI
telefono
auto

4ta tabla
detalle de tipo de auto

tengo que poder generar un informe basandome en la busqueda por DNI . pero a que lo haga en todas las tablas y que en el resultado no salgan los datos vacios . por ejemlo si la persona no tiene auto. que no salga la columna autos para esa persona. y si tiene auto . que si el auto es un audi. salga la leyenda tienes un A4

esto me tiene hace 2 meses y sigo aun sin entender SELECT


gracias a quien pueda guiarme
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

php

Publicado por manuel vaz (10 intervenciones) el 16/03/2014 20:50:51
necesitas que te hagan el codigo o solo los pasos que tienes que hacer?


porque solo tienes que vincular la primera tabla con las demas imagino que lo haces por el DIN

consulta php a las tablas.....
busca en las tres ultimas tablas donde el DIN sea el mismo, devuelve los resultados (es lógico que la primer tabla es la que usaras para la consulta)

y si cualquier campo es 'null' o vacio o 0 no lo muestres en pantalla eso lo haces con un 'if'

ahora si quieres el código te sugiero que pongas tu código y así vemos los errores que tienes


sale
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php

Publicado por mace julio cesar macejuliocesar@gmail.com (6 intervenciones) el 16/03/2014 21:01:36
BASE DE DATOS

-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 16-03-2014 a las 19:57:12
-- Versión del servidor: 5.5.24-log
-- Versión de PHP: 5.4.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `personas`
--

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

--
-- Estructura de tabla para la tabla `tabla1`
--

CREATE TABLE IF NOT EXISTS `tabla1` (
`DNI` int(11) NOT NULL,
`nombre` int(11) NOT NULL,
PRIMARY KEY (`DNI`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Estructura de tabla para la tabla `tabla2`
--

CREATE TABLE IF NOT EXISTS `tabla2` (
`DNI` int(20) NOT NULL,
`altura` varchar(20) NOT NULL,
`peso` varchar(20) NOT NULL,
PRIMARY KEY (`DNI`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Estructura de tabla para la tabla `tabla3`
--

CREATE TABLE IF NOT EXISTS `tabla3` (
`DNI` int(20) NOT NULL,
`telefono` varchar(20) NOT NULL,
`auto` varchar(20) NOT NULL,
PRIMARY KEY (`DNI`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Estructura de tabla para la tabla `tabla4`
--

CREATE TABLE IF NOT EXISTS `tabla4` (
`audi` varchar(20) NOT NULL,
`fiat` varchar(20) NOT NULL,
`renaul` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

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

PHP


SELECT *
FROM tabla1
INNER JOIN tabla2 ON tabla1.DNI = tabla2.DNI
INNER JOIN tabla3 ON tabla2.DNI = tabla3.DNI
INNER JOIN tabla4 ON tabla3.auto = tabla4.audi





lo del IF no entiendo como hacerlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php

Publicado por mace julio cesar macejuliocesar@gmail.com (6 intervenciones) el 16/03/2014 21:13:04
si me muestras como lo podria hacer? asi comparo con mi forma de entenderlo . ya que no encuentro la manera
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

php

Publicado por xve (5515 intervenciones) el 17/03/2014 07:39:50
Hola Marce, hasta donde yo se, no puedes poner columnas diferentes para en un mismo listado para verios resultados... por ejemplo, en un mismo resultado de un select, no puedes poner una columna coche para el primer registro, y que no aparezca en el segundo registro.

La manera correcta, es que el que no tenga coche, le aparezca la columna con null, y el que tiene coche con su valor correspondiente.

Luego, tu desde la programación con PHP, muestra una columna u otra por pantalla.

No se si te he entendido bien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

php

Publicado por mace julio cesar macejuliocesar@gmail.com (6 intervenciones) el 17/03/2014 12:30:00
me podrias dar un bosquejo de codigo? por que es como me lo dices que quiero hacerlo pero me sale
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar