Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2010, 09:39
rrecarte
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 16 años, 3 meses
Puntos: 5
perdida de variables en paginador

buenas ... tengo un problema en un paginador ajax... el hecho es que apenas conozco el codigo... trabajo con php. y hice un paginador mirando en tutoriales... y si bien siempre marcho ahora lo quiero usar con mas variables y no doy con el sheito...

el hecho es algo asi...

la consulta php


require('conexion.php');
$RegistrosAMostrar=4;

$marca=$_GET['marca'];
$modelo=$_GET['modelo'];
$veiculo=$_GET['veiculo'];

//estos valores los recibo por GET
if(isset($_GET['pag'])){
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
$PagAct=$_GET['pag'];
//caso contrario los iniciamos
}else{
$RegistrosAEmpezar=0;
$PagAct=1;

}
$rescar=mysql_query("SELECT car FROM categoria where id=$veiculo",$con) or die ("no selecciona veiculo");
$resu=mysql_result($rescar,0);
$resmod=mysql_query("SELECT marca FROM marcamodelo where identificador=$marca",$con) or die (" no selecciona modelo");
$resmodelo=mysql_result($resmod,0);


$Resultado=mysql_query("SELECT * FROM $resu where marca='$resmodelo' LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con) or die ("no selecciona datos");

echo "<table width='520' height='100' border='1' align='center' bgcolor='#999999' >";
while($MostrarFila=mysql_fetch_array($Resultado)){
echo "<tr>";
echo "<td width='71' align='center'><font size=5><small>referencia:</small> <br />"
.$MostrarFila['id']."</font></td>";
echo "<td width='92' align='center' ><font size=5><small>Modelo</small> <br />"
.$MostrarFila['modelo']. "</font></td>";
echo "<td width='165' align='center' ><font size=5><small>combustible</small> <br />"
.$MostrarFila['combustible'] . "</font></td>";
echo "<td width='130' align='center' ><font size=5><small>direccion</small> <br />"
. $MostrarFila['direccion'] . "</font></td>";
echo "<td width='61' align='center' ><font size=5><small>aire</small> <br />"
.$MostrarFila['aire'] . "</font></td>"; ?>
<td width="67" align="center" ><a href="../indexselect.php?id=<?php echo $MostrarFila['id'];?>&lugar=<? echo $autos ; ?>">
<?php echo "<img src='../$MostrarFila[foto1]' width='106px' >"; ?></a></td>
</tr><?php }?>
<?
echo "</table>";
//******--------determinar las páginas---------******//
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM $resu where marca='$resmodelo'",$con)) or die ("no cuenta autos");

$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>";
?>



y el ajax
function 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.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)
}


el problema es q como veran en la consulta es multiple ya que primero consulto cual es la marca segun una variable y cual es el veiculo segun variable tambien...
entonces.. me muestra la primer pag.. cuando quiero pasar e la segunda. me da error... consulta mysql no selecciona datos.... y estoy casi seguro de que eso pasa porque al cambiar la pag. no recibo las variables en el ajax... para cuando entra al paginador a hacer otra vez la consulta. las tenga.... como las agrego..
creo que el problema esta aca...

ajax.open("GET", "paginador.php?pag="+nropagina);

creo que aca deberia mandar las variables marca modelo veiculo... quien conozca ajax seguro entiende mas que yo... les agradezco su ayuda