Estoy intentado gestionar las solicitudes de amistad de mi web, y lo hago de la siguiente manera.
Tengo el visualizar_solicitudes.php donde se visualizan las solicitudes (en cada una de ellas, hay 2 botones: Aceptar e Ignorar).
Tengo el procesar_peticion.js donde mediante $.ajax({}) envio el dato que quiero al crear_amistad.php el cual mediante el objeto "usuario" que transporto en $_SESSION[] me lanza el método $usuario->crearAmistad(id_solicitante) (encargado de insertar los datos referentes a la amistad).
No copio todo el código de estos archivos, porque sobra, jee.
Bien, lo importante del archivo: visualizar_solicitudes.php
La variable $formulario es para desde el archivo js, controlar que formulario me ha enviado el dato id_solicitud y una vez acepte o rechace, hacerle un xx.fadeOut(); Empieza en 1 y va incrementando en cada vuelta del while.
Código :
echo"<form id='$formulario' action='' method='post'>"; echo "<br \> $fecha | $nombre_solicitante quiere ser tu amigo: <br>"; echo $mensaje."<br \>"; echo "<input type=submit id='$formulario' value='Aceptar' onClick=aceptar($id_solicitud,$formulario)></input> | <input type=submit id='$formulario' value='Cancelar' onClick=cancelar($id_solicitud,$formulario)></input>"; echo "</form>";
En el .js que recibe los datos y se ejecuta de manera asíncrona:
Código :
function aceptar(id_solicitud, id_formulario){ /*$.ajax({ async: true, type: "POST", dataType: "html", contentType: "application/x-www-form-urlencoded", url: "http://miweb/usuario/crear_amistad.php", data:'id='+id_solicitud, beforeSend: enviando, success: recibiendo, timeout: 4000, error: problema }); return false;
Mi problema es que no consigo que se ejecute bien el script crear_amistad.php
Código :
//Includes y demás $id_solicitud = $_REQUEST['id']; $usuario->crearAmistad($id_solicitud); //Se encarga de las gestiones en la bd
Tengo un sistema similar para el envio de las peticiones, y funciona perfectamente. El problema es que no sé cómo hacerlo para poder tener varios elementos en la misma página y que al hacer click en el botón Aceptar o Cancelar de cada petición, se ejecuten de manera asíncrona e independiente. Ésta es la única manera que se me ha ocurrido... pero nada. He puesto en el crear_amistad.php (el que es llamado por $.ajax) un método para ver si llega hasta ahí, una tabla de prueba en la bd en la cual si se ejecuta ese script, actualiza un campo en la bd, tal que:
Código :
$id_solicitud = $_REQUEST['id']; $insercion = "INSERT INTO bandera(detectar) VALUES($id_solicitud)"; $resultado = mysql_query($insercion, $link); $usuario->crearAmistad($id_solicitud);
A ver si alguien me puede echar una mano... que me estoy volviendo loco!!! jaja.
Venga, un saludo y gracias!