Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/10/2006, 18:06
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años, 2 meses
Puntos: 129
Vamos a ver .. ten claro los datos que generas con esa consulta SQL .. tu traes una combinación de los campos que llamas en tu consulta y bajo las condiciones que tu impones (WHERE ....)

Las referencias a un campo determinado de un resultado dado en el caso de que llames a várias tablas, para evitar confusiones debes crear "ALIAS" en SQL.

La llamada a los campos que tu necesites de las tablas implicadas son con la sintax SQL:

nombre_tabla.campo

Y como te comentaba .. si tienes algún tipo de confusión con nombres duplicados .. usas un ALIAS.

Como no indicas la estructura de tus tablas para ver los nombres de los campos que usas y en que tablas .. no puedo ser más concreto:

Código PHP:
$result mysql_query("SELECT usuario.campo_que_sea FROM reserva_sala,usuario WHERE reserva.id_sala='$sala' AND reserva.id_bloque='$bloque' AND reserva.fecha='$date' AND reserva.rut=usuario.rut"$conexion); 

if (
$row mysql_fetch_array($result)){ 
echo
"La Sala no se encuentra disponible, ya ha sido reservada por: ".$row['campo_que_sea']."<br> <br>"
?> 
Te fijas que hago referencia al nombre del campo y no al "n°" del resultado? .. eso ayuda a acceder al resultado.

Tu problema es que confundes el "n° de columna" que está tu dato en la tabla que necesitas con la NUEVA tabla que estás generando al hacer un "SELECT" que llama a más de una tabla y a campos en forma selectiva ...

Usando Alias:
Código PHP:
$result mysql_query("SELECT usuario.campo_que_sea AS nombre_nuevo FROM reserva_sala,usuario WHERE reserva.id_sala='$sala' AND reserva.id_bloque='$bloque' AND reserva.fecha='$date' AND reserva.rut=usuario.rut"$conexion); 

if (
$row mysql_fetch_array($result)){ 
echo
"La Sala no se encuentra disponible, ya ha sido reservada por: ".$row['nombre_nuevo']."<br> <br>"
?> 
Ahí creé un "alias" .. una "columna" nueva de resultados con ese nombre para hacer referencia a esta en forma exclusiva y no a otra que pudiera tener el mismo nombre (y tal vez coincidan sus valores .. ).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.