Hola gente como están, necesito que alguien me colabore por favor.
Sucede que tengo una BD con 4 tablas:
1. Usuario
2. Telefono
3. Mail
4. Celular
Código SQL:
Ver original-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 21-11-2011 a las 21:58:28
-- Versión del servidor: 5.5.16
-- Versión de PHP: 5.3.8
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: `directorio_mas`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `dmas_celular`
--
CREATE TABLE IF NOT EXISTS `dmas_celular` (
`cel_id` INT(10) NOT NULL AUTO_INCREMENT,
`cel_numero` VARCHAR(20) DEFAULT NULL,
`usu_id` INT(10) NOT NULL,
PRIMARY KEY (`cel_id`),
KEY `idusuarioincelular_fk` (`usu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Volcado de datos para la tabla `dmas_celular`
--
INSERT INTO `dmas_celular` (`cel_id`, `cel_numero`, `usu_id`) VALUES
(1, '3175162483', 1),
(2, '3208909765', 1);
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `dmas_mail`
--
CREATE TABLE IF NOT EXISTS `dmas_mail` (
`mai_id` INT(10) NOT NULL AUTO_INCREMENT,
`mai_mail` VARCHAR(100) DEFAULT NULL,
`usu_id` INT(10) NOT NULL,
PRIMARY KEY (`mai_id`),
KEY `idusuarioinmail_fk` (`usu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Volcado de datos para la tabla `dmas_mail`
--
INSERT INTO `dmas_mail` (`mai_id`, `mai_mail`, `usu_id`) VALUES
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `dmas_telefono`
--
CREATE TABLE IF NOT EXISTS `dmas_telefono` (
`tel_id` INT(10) NOT NULL AUTO_INCREMENT,
`tel_numero` VARCHAR(20) DEFAULT NULL,
`tel_extension` VARCHAR(20) DEFAULT NULL,
`usu_id` INT(10) NOT NULL,
PRIMARY KEY (`tel_id`),
KEY `idusuariointelefono_fk` (`usu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Volcado de datos para la tabla `dmas_telefono`
--
INSERT INTO `dmas_telefono` (`tel_id`, `tel_numero`, `tel_extension`, `usu_id`) VALUES
(1, '6399090', NULL, 1),
(2, '6542345', '13', 1);
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `dmas_usuario`
--
CREATE TABLE IF NOT EXISTS `dmas_usuario` (
`usu_id` INT(10) NOT NULL AUTO_INCREMENT,
`usu_nombre` VARCHAR(100) DEFAULT NULL,
`usu_descripcion` VARCHAR(100) DEFAULT NULL,
`usu_estado` VARCHAR(2) DEFAULT NULL,
`usu_imagen` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`usu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Volcado de datos para la tabla `dmas_usuario`
--
INSERT INTO `dmas_usuario` (`usu_id`, `usu_nombre`, `usu_descripcion`, `usu_estado`, `usu_imagen`) VALUES
(1, 'Acualago', 'Cliente PAC', '1', NULL);
--
-- Restricciones para tablas volcadas
--
--
-- Filtros para la tabla `dmas_celular`
--
ALTER TABLE `dmas_celular`
ADD CONSTRAINT `idusuarioincelular_fk` FOREIGN KEY (`usu_id`) REFERENCES `dmas_usuario` (`usu_id`);
--
-- Filtros para la tabla `dmas_mail`
--
ALTER TABLE `dmas_mail`
ADD CONSTRAINT `idusuarioinmail_fk` FOREIGN KEY (`usu_id`) REFERENCES `dmas_usuario` (`usu_id`);
--
-- Filtros para la tabla `dmas_telefono`
--
ALTER TABLE `dmas_telefono`
ADD CONSTRAINT `idusuariointelefono_fk` FOREIGN KEY (`usu_id`) REFERENCES `dmas_usuario` (`usu_id`);
/*!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 */;
La división de las tablas las realizo así ya que un cliente puede tener más varios datos diferentes de: teléfono (fijo), celular y/o mail.
al realizar el procedimiento en el PHP me encuentro con lo siguiente:
Aquí está el código que estoy utilizando:
Código PHP:
Ver originalecho '<div class="">
<table width="800" class="forTablePost" border="0" cellspacing="0" cellpadding="4">
<tr align="left">
<td><strong>DESCRIPCIÓN</strong></td>
<td><strong>TELÉFONO</strong></td>
<td><strong>EXT</strong></td>
<td><strong>CELULAR</strong></td>
<td><strong>MAIL</strong></td>
</tr>';
$runQueryTask = mysql_query("SELECT du.usu_id, dt.tel_numero, dt.tel_extension, dc.cel_numero, dm.mai_mail FROM dmas_usuario du LEFT JOIN dmas_telefono dt ON du.usu_id = dt.usu_id
LEFT JOIN dmas_celular dc ON dt.usu_id = dc.usu_id
LEFT JOIN dmas_mail dm ON dc.usu_id = dm.usu_id
WHERE du.usu_id = '$idCliente'", $link);
if ($ifData > 0) {
$numeroTel = $callDataTask['tel_numero'];
$extTel = $callDataTask['tel_extension'];
$numeroCel = $callDataTask['cel_numero'];
$mail = $callDataTask['mai_mail'];
echo '<tr align="left">
<td></td>
<td>'.$numeroTel.'</td>
<td>'.$extTel.'</td>
<td>'.$numeroCel.'</td>
<td>'.$mail.'</td>
</tr>';
}
}
echo '</table>
</div>';
Y a lo que quiero llegar es a algo como:
Espero que me entiendan, muchas gracias!