Foros del Web » Programando para Internet » PHP »

Problema con PHP campos y tablas relacionadas

Estas en el tema de Problema con PHP campos y tablas relacionadas en el foro de PHP en Foros del Web. Volvi a poner este post por que en el foro de BD parece que no cuadra mucho y si no tendria que haberlo hecho pido ...
  #1 (permalink)  
Antiguo 26/10/2005, 12:10
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Problema con PHP campos y tablas relacionadas

Volvi a poner este post por que en el foro de BD parece que no cuadra mucho y si no tendria que haberlo hecho pido perdon...
Increiblemente no puedo obtener los resultados de un campo en una tabla relacionada. La tabla es masomenos asi
id id_relacion datos
1..............1...............data
2..............2...............data
3..............2...............data
4..............3...............data
5..............4...............data
6..............1...............data

Donde id es autoincrementable/numerico y id_relacion es una FK relacionada con otra tabla.
La pregunta es como obtengo los resultados de...supongamos algo asi
SELECT data FROM tabla WHERE id_relacion=$variable
Suponiendo que la variable sea 2 quiero que muestre los dos registros de "2" o si la variable es uno que muestre tambien los dos registros de "1"....que me los muestre como texto o para levantarlos dde un form para hacer un UPDATE.
Todo esto lo hago a traves de php y el problema es que al hacer el SELECT me muestra un solo registro y no todos los de ese campo, este es el escript que uso:
$result = mysql_query("SELECT destinos.destino,hoteles.hotel,hoteles.categoria,h oteles.pension,tarifas.tarifa,tarifas.tarifa2,
tarifas.tarifa3,tarifas.impuestos,tarifas.impuesto s2,tarifas.impuestos3 FROM (destinos INNER JOIN tarifas ON destinos.id_destino=tarifas.id_hoteles INNER JOIN hoteles ON destinos.id_destino=hoteles.id_destinos ) WHERE id_destino=$idd");
if (!mysql_num_rows($result)){
echo "<p>No se ha encontrado el registro solicitado.</p>";
}
else{
$rs = mysql_fetch_array($result);

?>
Y al poner <? echo $rs["tarifas2"];?> me devuelve un solo reg.
Muchas Gracias
  #2 (permalink)  
Antiguo 26/10/2005, 12:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. es que el resultado te arroja un array bidimiensional la cual tienes que recorrer tipo:

Código PHP:
While ($rs=mysql_fetch_array($result)){
echo 
$rs['tarifas2']."<br>";

Un saludo,

PD: .. supongo que tu consulta SQL ya la has probado y verificado que arroja resultados con algún GUI para Mysql (phpMyadmin, Navicat .. o el que uses)
  #3 (permalink)  
Antiguo 26/10/2005, 12:55
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Sip, he probado la consulta SQL (en phpMyAdmin, es el que uso) y muestra todos los datos que necesito....increiblemente no probe recorrer los resultados con un While......lo que es ahogarse en un vaso de agua...;p
Graciassssss Cluster!!!!!!!!!!!!!!!!!!!!!!
  #4 (permalink)  
Antiguo 26/10/2005, 13:07
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Cluster....y si quiero mostrar los datos en unos Text area o text field para hacer un update?....
  #5 (permalink)  
Antiguo 26/10/2005, 14:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues genera ese HTML!!!..

Código PHP:
echo "<input type=\"text\" name=\"tarifa2[]\" value=\"".$rs['tarifas2']."\"><br>"
Si vas hacer eso .. te combiene ver esta FAQ para ver como trabajar con "tarifa2[]" y hacer luego tu update ...

http://www.forosdelweb.com/showthrea...710#post518710

Un saludo,
  #6 (permalink)  
Antiguo 26/10/2005, 14:16
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Ok Gracias!
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:22.