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:
![](http://www.imagengratis.org/images/img1pv6up.png)
Aquí está el código que estoy utilizando:
Código PHP:
Ver original
echo '<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:
![](http://www.imagengratis.org/images/img2xi6mx.png)
Espero que me entiendan, muchas gracias!