Bueno, AJAX es Asyncronic JavaScript And XML, por lo que sabiendo JS te servirá...
Verás, yo leí un libro de JS, AJAX y PHP, y venía con un CD que tenía funciones hechas para lanzar AJAX. Te dejo aquí las funciones y te explico un poco:
Código:
myreq=new AJAXREQ(); //creamos un objeto AJAXREQ
//constructor para AJAXREQ
function AJAXREQ(){
this.req=createREQ();
this.onreadystatechange=null;
this.check=function(){if(!this.req){/*sitio sin ajax*/}};
this.check();
}
//función que crea el request
function createREQ(){
try{
req=new XMLHttpRequest();
}catch(err1){
try{
req=new ActiveXObject("Msxml2.XMLHTTP");
}catch (err2){
try{
req=new ActiveXObject("Microsoft.XMLHTTP");
}catch (err3){
req=false;
}
}
}
return req;
}
//función que envía el request
function requestPOST(url, query, req){
req.open("POST", url, false);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(query);
}
//función para lanzar AJAX
function doAjax(url,query,getxml,dtc,ev){
myreq.req.onreadystatechange=function(){
if(myreq.req.readyState==4){
if(myreq.req.status==200){
var item=myreq.req.responseText;
if(getxml==1){
item=myreq.req.responseXML;
}
print(item, dtc,ev);
}
}else{
printWait(dtc,0);
}
};
requestPOST(url, query, myreq.req);
}
//función para evaluar el resultado
function print(item, dtc, ev){
if(ev==1){
eval('('+item+')');
}else{
document.getElementById(dtc).innerHTML=item;
}
}
//función que muestra mensajes de espera
function printWait(dtc,i){
if(printMessage(i)!=document.getElementById(dtc).innerHTML){
document.getElementById(dtc).innerHTML='';
document.getElementById(dtc).innerHTML=printMessage(i)
}
}
//función para mostrar mensajes
function printMessage(i){
l='';
l=navigator.userLanguage;
if(l==null){
l=navigator.language;
}
t=['Cargando...', 'Su navegador no permite AJAX', 'Error inesperado'];
if(l.indexOf('es') == -1){
t=['Loading...', "Your browser doesn't allow AJAX", 'Unexpected error'];
}
return ''; //aquí pones un código html, como una imagen y el texto "t[i]"
}
Entonces, para hacer una llamada AJAX, deberás hacer algo así:
Código:
doAjax('url_de_destino', 'datos_post', 0, 'div_a_cambiar', 0);
Te comento: "url_de_destino" sería, en este caso, la página PHP que te maneja la base de datos. "datos_post" serían los datos post (si los hay) que tuvieras que mandar. El formato es el mismo que se usa para los datos GET (var=val&var2=val2) sin el "?". "div_a_cambiar" puede ser un elemento que no exista (será un id de elemento), aunque ahora te comento una cosa...
He pensado que lo que podrías hacer sería, aprovechando que AJAX puede arrojar resultados, hacer lo siguiente:
- Haces la llamada AJAX
- Dentro del PHP que maneja la base de datos, haces la gestión
- Retornas el HTML correspondiente a las flechas
- ¡Voliá!
Yo uso estas funciones "por defecto" para hacer AJAX. Cualquier cosa no dudes en comentar!
Saludos!
---
EDITO:
Hay otra forma de hacerlo sin AJAX, pero es algo más "alternativo".
Sería hacer lo siguiente:
Al llegar el momento de gestionar el tema de las flechas, mediante JS creas un form con "action=paginaQueGestionaLaBaseDeDatos.php", pasándole los datos necesarios.
Entonces le haces un submit(), y ahí gestionas la base de datos, y reenvías a la página anterior con algún tipo de flag para que muestre las flechas...
Como te digo es muy "alternativo"... pero si lo ves viable y no quieres usar AJAX... xD