Foros del Web » Programando para Internet » PHP »

problema para mostrar datos

Estas en el tema de problema para mostrar datos en el foro de PHP en Foros del Web. tengo un problema, quiero mostrar en una tabla en php el nombre direccion y telefono. para ello quiero que la empresa que tenga tanto telefono ...
  #1 (permalink)  
Antiguo 29/05/2009, 17:21
 
Fecha de Ingreso: enero-2008
Mensajes: 39
Antigüedad: 16 años, 3 meses
Puntos: 0
Exclamación problema para mostrar datos

tengo un problema, quiero mostrar en una tabla en php el nombre direccion y telefono.

para ello quiero que la empresa que tenga tanto telefono como no salgan en esa tabla. lo malo que nombre direccion estan en una tabla y telefono en otra. en este codigo solo me sale el que tiene un telefono asociado. el que no tiene telefono no sale

aqui mi codigo:

$consulta=mysql_query("SELECT NOMBRE,DIRECCION,TLF,TELEFONO.ID_E,EMPRESAS.ID_E FROM EMPRESAS, TELEFONO WHERE EMPRESAS.ID_E=TELEFONO.ID_E");
  #2 (permalink)  
Antiguo 29/05/2009, 17:26
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: problema para mostrar datos

Por qué tienes los telefonos separados? no sería mejor que fueran en la misma tabla?, si lo que pretendes es que una empresa pueda tener varios teléfonos deberías guardarlos en una misma columna separados con "," de la forma:

telefono0, telefono1, telefono2, ...

y para separarlos utiliza un explode(', ', $result['telefonos']); así podrás recuperarlos y ordenarlos como quieras...
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter
  #3 (permalink)  
Antiguo 29/05/2009, 17:37
 
Fecha de Ingreso: enero-2008
Mensajes: 39
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: problema para mostrar datos

no por que cada telefono esta asociado a cada cliente dentro de la misma empresa y asi mismo su email . por ejemplo

empresa mariano tiene
telefono cliente correo electronico
01 mariano mariano@mariano
02 pepe pepe@mariano
03 pepa pepa@mariano

asi lo tengos todos en una base distintas para no tener ni que separarlos por comas ni para que me salgan todos de golpe y para una vista que hare mas adelante me salga todo ordenado
  #4 (permalink)  
Antiguo 29/05/2009, 17:40
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problema para mostrar datos

puedes tambien hacer una consulta multitabla,,me explico si tienes dos tablas, haces un select de la siguiente forma:


$qry = "SELECT * FROM empresa, tabla2 WHERE empresa.idempresa=empresa.idempresa and tabla2.codigo = tabla.codigo ";

$resultado = mysql_query ($qry, $bd);

if ( !$resultado )
die ( "Error al ejecutar la consulta" );

$num_filas = mysql_num_rows($resultado);
$i = 1;

while ($i <= $num_filas){
$fila = mysql_fetch_array($resultado);
$valor = $fila[idempresa];
echo "<tr>";

echo "<td> <center> $fila[idempresa] </center> </td>";
echo "<td><center> $fila[nombreempresa] </center></td>";
echo "<td><center> $fila[direccion] </center></td>";
echo "<td><center> $fila[telefono1] </center></td>";
echo "<td><center> $fila[telefono2] </center></td>";



echo "</tr>";
$i++;
}

mysql_close ( $bd );

?>

se supone que en la tabla donde dices que tienes los otros telefonos, debe de haber una llave primaria, por eso tabla 2, seria esa otra tabla, y en esta tabla 2, debe de estar registrado el otro telefono, por eso, codigo es la llave primaria que hay en tabla2 y telefono2 es el campo que se va a mostrar, si son mas telefonos, pues simplemente colocas debajo telefono 3 , etc
  #5 (permalink)  
Antiguo 29/05/2009, 17:41
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problema para mostrar datos

coloca
tabla2.codigo = tabla2.codigo ";

por

tabla2.codigo = tabla.codigo ";
  #6 (permalink)  
Antiguo 30/05/2009, 02:29
 
Fecha de Ingreso: enero-2008
Mensajes: 39
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: problema para mostrar datos

os comento un poco mas.

tengo 2 tablas con esta estructura

telefono ( id_E, tlf , clientes , correo_electro),
empresas(ID_E,nombre, direccion).

y estos datos por ejemplo:

telefono
1 , 001 , pepe , [email protected]
1 , 002 , pepa , [email protected]

empresas
1 , mariano , real 100
2 , construcciones pepe , rali 2


y quiero que salga

mariano real , 100 , 001
construcciones pepe , rali 2
  #7 (permalink)  
Antiguo 31/05/2009, 04:29
 
Fecha de Ingreso: enero-2008
Mensajes: 39
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: problema para mostrar datos

alguien sabe lo que comento
  #8 (permalink)  
Antiguo 31/05/2009, 07:16
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: problema para mostrar datos

y si usas inner join, algo asi:

SELECT * FROM empresas INNER JOIN telefonos ON telefonos.id_E=empresas.ID_E WHERE empresas.ID_E=idxyz GROUP BY nombre ORDER BY nombre ASC
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #9 (permalink)  
Antiguo 31/05/2009, 07:36
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: problema para mostrar datos

No se si te entiendo bien, pero pregunto... no sería más fácil que el teléfono estuviera en la misma tabla que la empresa?, para qué haces la distinción?, si luego lo que quieres es consultar solo el teléfono haces una consulta preguntando solo por el teléfono, si quisieras asociar clientes, lo único que tendrías que hacer es asociar a una id.

si esto te ayuda bien, sino explica un poco más, porque si lo entiendo bien, lo que tu tienes es un camino erróneo para solucionar tus necesidades, tal vez por ahora la pregunta sea por ese fragmento de código, pero creo que el problema es la solución entera que le das a la necesidad que tienes, es decir, el problema está mal analizado.

Si explicas bien qué es lo que quieres hacer (En conjunto), tal vez te podamos ayudar con una solución más simple.
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter
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 00:49.