Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2005, 01:59
kabe_jrr
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 7 meses
Puntos: 4
Me coge el último insertado y no quiero eso!

Hola amigos.
A ver si explico bien el problema que tengo...
Tengo, entre otras, 3 tablas en la base de datos:

1.- usuario (nick_usuario, telefono_usuario, email_usuario,...) siendo su clave "nick_usuario"
2.- concierta_visita (dni_propietario, ref_inmueble, nick_usuario) siendo los 3 atributos la clave de la tabla
3.- gestiona_visitas (dni_propietario, ref_inmueble, nick_usuario, id_agente, visitado) siendo los 4 primeros atributos su clave. El atributo "visitado" será "si" o "no", según el agente encargado (id_agente) del inmueble lo haya visitado ya o no con el usuario interesado (nick_usuario).

Por otro lado, tengo un código que saca correctamente por pantalla los datos que quiero en una tabla de tipo <table>, cuyas columnas indican los siguientes datos: referencia del inmueble a visitar, usuario interesado en visitar el inmueble, telefono del usuario, email del usuario, y si el inmueble ha sido visitado o no (si aún no ha sido visitado, lo que aparecerá en esa columna, por cada fila, será un botón que al pulsarlo, cambiará a "si" el campo correspondiente a ese inmueble en la tabla "gestiona_visitas" de la base de datos, por el que se ha interesado ese usuario, que tiene como encargado al agente "id_agente").

El problema es que paso mal el nick del usuario (en este caso se me ha ocurrido pasarlo a través de un campo "hidden") y siempre me coge el último usuario insertado en la tabla "gestiona_visitas"... Cuando yo lo que quiero es que trate el usuario correspondiente en cuya fila se ha pulsado el botón de "visitado"...
(Por cierto, si el inmueble ya ha sido visitado con el usuario que se interesó por él, en lugar de aparecer un botón de "VISITADO", lo que aparece es la palabra "SI", indicando que sí ha sido visitado con el usuario interesado)

El código "conflictivo" es este:
--------------------------------------------------------------------------
//obtengo la id del agente encargado del inmueble mediante los datos de la sesión

$ag=$_SESSION['id_agente'];

//realizo la consulta para obtener los datos que se sacarán por pantalla

$s3="select ref_inmueble,nick_usuario,visitado from gestiona_visitas where (id_agente='$ag')";
$resultado=mysql_query($s3,$link);
while ($salida=mysql_fetch_row($resultado)){

//una segunda consulta para obtener el telefono y el email del usuario interesado en visitar el inmueble

$s2="select telefono_usuario,email_usuario from usuario where (nick_usuario='$salida[1]')";
$res=mysql_query($s2,$link);
while ($row=mysql_fetch_row($res)){

//comienzo a imprimir por pantalla la tabla con los resultados

echo "<tr>";
if ($salida[2]=="no") {

//el inmueble no ha sido visitado

for ($i=0;$i<5;$i++){
if($i==0) {
echo "<td bgcolor=\"#F0F1DA\">",$salida[$i],"</td>";
}else{
if ($i==1) {
$n=$salida[$i];
echo "<td bgcolor=\"#F0F1DA\">",$salida[$i],"</td>";
}else{
if ($i==2) {
echo "<td bgcolor=\"#F0F1DA\">",$row[0],"</td>";
}else{
if ($i==3) {
echo "<td bgcolor=\"#F0F1DA\">",$row[1],"</td>";
}else{
if ($i==4) {
echo "<input type=\"hidden\" name=nick value=\"$salida[1]]\"><input type=\"hidden\" name=agente value=\"$ag\"><td bgcolor=\"#F0F1DA\"><div align=\"center\"><input type=\"submit\" name=visita[$salida[0]] value=\"VISITADO\"></div></td>";
}
//cierro los 4 "else"
}}}}
//cierro el for
}
//cierro el if
}
elseif ($salida[2]=="si"){

//el inmueble ya figura como visitado

for ($i=0;$i<5;$i++){
if($i==0) {
echo "<td bgcolor=\"#F0F1DA\">",$salida[$i],"</td>";
}else{
if ($i==1) {
echo "<td bgcolor=\"#F0F1DA\">",$salida[$i],"</td>";
}else{
if ($i==2) {
echo "<td bgcolor=\"#F0F1DA\">",$row[0],"</td>";
}else{
if ($i==3) {
echo "<td bgcolor=\"#F0F1DA\">",$row[1],"</td>";
}else{
if ($i==4) echo "<td bgcolor=\"#F0F1DA\" align=\"center\">SI</td>";
//cierro los 4 "else"
}}}}
//cierro el for
}
//cierro el if
}
echo "</tr>";
//cierro el while
}
//cierro el otro while
}
--------------------------------------------------------------------------

¿Cómo puedo pasar correctamente el nick del usuario interesado en ese inmueble? ¿Será que estoy haciendo mal las consultas?

No sé si hace falta, pero por si acaso, pongo también el código de prueba que estoy usando (archivo que recoge los datos) para comprobar si sale o no sale bien el nick en cuestión...
--------------------------------------------------------------------------
<?php
$n=$_POST['nick'];
$a=$_POST['agente'];

foreach ($visita as $indice=>$valor)
echo $n,"<br>",$a,"<br>",$indice,"<br>";
?>
--------------------------------------------------------------------------

Muchas gracias y a ver si alguien puede ayudarme!!