Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[SOLUCIONADO] Compartir variables

Estas en el tema de Compartir variables en el foro de Frameworks JS en Foros del Web. Buenas me gustaria compartir una variable entre php y ajax para poder hacer un paginador. Os pongo los codigos y ahora explico. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 30/03/2015, 12:07
Avatar de warnoise  
Fecha de Ingreso: julio-2011
Ubicación: Sevilla
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Compartir variables

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 original
  1. function objetoAjax(){
  2.  var xmlhttp=false;
  3.   try{
  4.    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.   }catch(e){
  6.    try {
  7.     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.    }catch(E){
  9.     xmlhttp = false;
  10.    }
  11.   }
  12.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  13.    xmlhttp = new XMLHttpRequest();
  14.   }
  15.   return xmlhttp;
  16. }
  17.  
  18. function Pagina(nropagina){
  19.  //donde se mostrará los registros
  20.  divContenido = document.getElementById('contenido');
  21.  
  22.  ajax=objetoAjax();
  23.  //uso del medoto GET
  24.  //indicamos el archivo que realizará el proceso de paginar
  25.  //junto con un valor que representa el nro de pagina
  26.  ajax.open("GET", "paginador-mio.php?pag="+nropagina);
  27.  divContenido.innerHTML= '<img src="anim.gif">';
  28.  ajax.onreadystatechange=function() {
  29.   if (ajax.readyState==4) {
  30.    //mostrar resultados en esta capa
  31.    divContenido.innerHTML = ajax.responseText
  32.   }
  33.  }
  34.  //como hacemos uso del metodo GET
  35.  //colocamos null ya que enviamos
  36.  //el valor por la url ?pag=nropagina
  37.  ajax.send(null)
  38. }

Aqui el codigo PHP

Código PHP:
Ver original
  1. require ('connect.php');
  2. $RegistrosAMostrar=10;
  3.  
  4. //estos valores los recibo por GET
  5.     if(isset($_GET['pag'])){
  6.     $RegistrosAEmpezar = ($_GET['pag']-1)*$RegistrosAMostrar;
  7.     $PagAct = $_GET['pag'];
  8.     //caso contrario los iniciamos
  9.  
  10. } else {
  11.     $RegistrosAEmpezar = 0;
  12.     $PagAct = 1;
  13. }
  14.  
  15. /* Si submit=true ejecuta la busqueda */
  16. if(isset($_GET['submit'])){
  17.  
  18.  
  19. $busqueda = $_GET["busqueda"];
  20.  
  21. $query = "SELECT Nombre, mail1, Localidad, Provincia
  22.                FROM AP1_2_tabla_clientes_Consulta
  23.                WHERE Provincia LIKE '%$busqueda%'
  24.                ORDER BY Localidad ASC
  25.                LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
  26. $query2 ="SELECT Nombre, mail1, Localidad, Provincia
  27.                FROM AP1_2_tabla_clientes_Consulta
  28.                WHERE Provincia LIKE '%$busqueda%'
  29.                ORDER BY Localidad ASC";
  30.     $Resultado2 = mysqli_query($mysqli, $query2);
  31.     $Resultado = mysqli_query($mysqli, $query);
  32.             print ('<table class="tablenav"> '.
  33.                '<thead><tr><td>Nombre</td><td>Email</td><td>Localidad</td><td>Provincia</td><td></td><td></td></tr><thead> '.
  34.                '<tbody>');
  35.             while ($MostrarFilaBis = mysqli_fetch_assoc($Resultado)){
  36.                 echo "<tr>";
  37.                 echo "<td>".$MostrarFilaBis['Nombre']."</td>";
  38.                 /*if ($PagAct == 1)
  39.                     echo "<td>".$MostrarFila['post_title']."</td>";
  40.                 else*/
  41.                 echo "<td>".$MostrarFilaBis['mail1']."</td>";
  42.                 echo "<td>".$MostrarFilaBis['Localidad']."</td>";
  43.                 echo "<td>".$MostrarFilaBis['Provincia']."</td>";
  44.                 echo "<td><img src='images/edit.png' width='15px'></td>";
  45.                 echo "<td><img src='images/delete.png' width='15px'></td>";
  46.                 echo "</tr>";
  47. }
  48.  
  49.     print ("</tbody>".
  50.             "<tfoot><tr><td>Nombre</td><td>Email</td><td>Localidad</td><td>Provincia</td></tr><tfoot>".
  51.             "</table>");
  52.  
  53.    
  54. //Contamos el numero de registros
  55.    
  56.     $NroRegistros = mysqli_num_rows($Resultado2);
  57.     $PagAnt = $PagAct-1;
  58.     $PagSig = $PagAct+1;
  59.     $PagUlt = $NroRegistros/$RegistrosAMostrar;
  60.  
  61. //verificamos residuo para ver si llevará decimales
  62.     $Res=$NroRegistros%$RegistrosAMostrar;
  63. // si hay residuo usamos funcion floor para que me
  64. // devuelva la parte entera, SIN REDONDEAR, y le sumamos
  65. // una unidad para obtener la ultima pagina
  66. if($Res>0) {
  67.     $PagUlt=floor($PagUlt)+1;
  68. }
  69.  
  70.  
  71. //desplazamiento
  72.  
  73. echo "<a onclick=\"Pagina('1')\">Primero</a> ";
  74. if($PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
  75. echo "<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
  76. if($PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
  77. echo "<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>";
  78.  
  79. } 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.

Etiquetas: ajax, mysql, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:27.