Tras más de 10 horas buscando y buscando, he acabado por rendirme, registrarme aquí y preguntar a ver si alguien es capaz de ayudarme a solucionar un problema que tengo.
Estoy realizando una web y estoy con el tema de las solicitudes de amistad.
Hasta ahí todo bien, tengo mi tabla, con mis campos id, usuario_envia, usuario_recibe y estado.
El problema me ha surgido a la hora de enviar varias solicitudes y querer gestionarlas. Pongo ejemplos para que se me entienda:
- Usuario 1 envía solicitud a Usuario 2
- Usuario 3 envía solicitud a Usuario 2
Como Usuario 2 tendría 2 solicitudes, las cuales muestro por pantalla mediante un bucle while y genero un formulario donde incluyo los correspondientes datos que quiero mostrar.
Por cada formulario, he creado 2 botones diferentes, uno que acepta y uno que rechaza (esto es para que cuando acepte, mediante una función que tengo, me lleve al archivo que ejecuta la actualización de la línea y sea posible la amistad y en caso contrario, cuando sea rechazar, borre la línea).
El problema está en que por alert me muestra el $i que tengo en el while a la perfección, pero al enviarlo a la página de la consulta sql, me muestra el 1º registro.
Dejo por aquí el código para que, si detectáis dónde está mi fallo, me lo podáis marcar más fácilmente.
Esta es la función que lleva la respuesta de los botones
Código:
Y este es el código que tengo del formulario, consulta y while<script type="text/javascript"> function optionFriendship(answer) { if(answer=="yes") { window.location="sql_friendship.php?accept=yes"; } else { window.location="sql_friendship.php?accept=no"; } } </script>
Código:
<form action="sql_friendship.php" method="post" class="form_login" enctype="multipart/form-data"> <?php // Consultamos los usuarios y las peticiones de amistad donde el uruario logueado sea el usuario que recibe la petición $sql = "SELECT id_user_send, message, accepted, id_user, user, id_friendship FROM amistades, usuarios WHERE amistades.id_user_send=usuarios.id_user AND id_user_receive=" . $_SESSION["id_user"]; $resultado = mysql_query($sql,$conexion); $i=0; while($fila=mysql_fetch_array($resultado)) { $i++; ?> <fieldset> ID: <input type="text" name="loop" value="<?php echo $i ?>" disabled /><br /> Enviado por: <input type="text" value="<?php echo $fila["user"] ?>" disabled /><br /> Mensaje <input type="text" value="<?php echo $fila["message"] ?>" disabled /><br /> Amigos <input type="button" value="Aceptar" onClick="alert('El valor de i es: <?php echo $i ?>');optionFriendship('yes')" /> <input type="button" value="Rechazar" onClick="optionFriendship('no');" /> </fieldset> <?php } ?> </form>
Agradecería cualquier ayuda puesto que llevo ya más de 10 horas rompiéndome la cabeza y no doy con la solución.
Gracias de antemano.
EDITO: No he incluido el punto en que paso el valor $i a la función, con tanto cambio he perdido el punto en que tenía eso, pero así dejo más "limpio" el código y si me podéis ayudar a solucionarlo de otro modo, mejor.