Buenas me gustaria compartir una variable entre php y ajax para poder hacer un paginador. Os pongo los codigos y ahora explico.
Código Javascript
:
Ver originalfunction objetoAjax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function Pagina(nropagina){
//donde se mostrará los registros
divContenido = document.getElementById('contenido');
ajax=objetoAjax();
//uso del medoto GET
//indicamos el archivo que realizará el proceso de paginar
//junto con un valor que representa el nro de pagina
ajax.open("GET", "paginador-mio.php?pag="+nropagina);
divContenido.innerHTML= '<img src="anim.gif">';
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divContenido.innerHTML = ajax.responseText
}
}
//como hacemos uso del metodo GET
//colocamos null ya que enviamos
//el valor por la url ?pag=nropagina
ajax.send(null)
}
Aqui el codigo PHP
Código PHP:
Ver originalrequire ('connect.php');
$RegistrosAMostrar=10;
//estos valores los recibo por GET
$RegistrosAEmpezar = ($_GET['pag']-1)*$RegistrosAMostrar;
$PagAct = $_GET['pag'];
//caso contrario los iniciamos
} else {
$RegistrosAEmpezar = 0;
$PagAct = 1;
}
/* Si submit=true ejecuta la busqueda */
if(isset($_GET['submit'])){
$busqueda = $_GET["busqueda"];
$query = "SELECT Nombre, mail1, Localidad, Provincia
FROM AP1_2_tabla_clientes_Consulta
WHERE Provincia LIKE '%$busqueda%'
ORDER BY Localidad ASC
LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
$query2 ="SELECT Nombre, mail1, Localidad, Provincia
FROM AP1_2_tabla_clientes_Consulta
WHERE Provincia LIKE '%$busqueda%'
ORDER BY Localidad ASC";
print ('<table class="tablenav"> '.
'<thead><tr><td>Nombre</td><td>Email</td><td>Localidad</td><td>Provincia</td><td></td><td></td></tr><thead> '.
'<tbody>');
echo "<tr>";
echo "<td>".$MostrarFilaBis['Nombre']."</td>";
/*if ($PagAct == 1)
echo "<td>".$MostrarFila['post_title']."</td>";
else*/
echo "<td>".$MostrarFilaBis['mail1']."</td>";
echo "<td>".$MostrarFilaBis['Localidad']."</td>";
echo "<td>".$MostrarFilaBis['Provincia']."</td>";
echo "<td><img src='images/edit.png' width='15px'></td>";
echo "<td><img src='images/delete.png' width='15px'></td>";
echo "</tr>";
}
print ("</tbody>".
"<tfoot><tr><td>Nombre</td><td>Email</td><td>Localidad</td><td>Provincia</td></tr><tfoot>".
"</table>");
//Contamos el numero de registros
$PagAnt = $PagAct-1;
$PagSig = $PagAct+1;
$PagUlt = $NroRegistros/$RegistrosAMostrar;
//verificamos residuo para ver si llevará decimales
$Res=$NroRegistros%$RegistrosAMostrar;
// si hay residuo usamos funcion floor para que me
// devuelva la parte entera, SIN REDONDEAR, y le sumamos
// una unidad para obtener la ultima pagina
if($Res>0) {
$PagUlt=floor($PagUlt)+1; }
//desplazamiento
echo "<a onclick=\"Pagina('1')\">Primero</a> ";
if($PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
echo "<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
if($PagAct<$PagUlt) echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
echo "<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>";
} else {
Mi problema es que al realizar una busqueda, me lo hace correctamente y cuando le doy a siguiente, me pasa a la pagina 2 pero de la totalidad de los registros, sin respetar la busqueda. Se que el problema es que en la funcion
Pagina(nropagina) me pasa a la la url paginador-mio?pag=i cuando me tiene que pasar a la url paginador-mio?busqueda=$busqueda&submit=Buscar&pag="+nropagi na
El problema es que no se como insertar la variable $busqueda en ese funtion mediante un if, ya que no se como se importan variables a ajax desde php.
Un saludo.