Hola a todos!!!!!
Luego de una larga lucha y de mucho estudio por mi parte, logré armar un buscador con el paginador dentro de una capa para ver los resultados de la búsqueda sin que se resetee toda la misma.
El buscador está armado con listas anidadas. El UNICO problema RARO que tengo, es que en mi PC me funciona
PERFECTO, pero al subir todo al servidor de internet, cuando hago la misma búsqueda
no me está trayendo los resultados seleccionados según lo que elijo de cada LISTA ANIDADA, sino que me trae directamente
TODO.
Les paso el código Ajax para que lo vean:
paginador.js
Código:
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('respuesta');
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
// declaro las variables de los document.getElementById que recupero de la pagina
var select1 = document.getElementById("select1");
var select2 = document.getElementById("select2");
var select3 = document.getElementById("select3");
var id_cocina = document.getElementById("id_cocina");
var id_precio = document.getElementById("id_precio");
// ...y lo envio en la variable m.value para q lo procese resto_lista.php
ajax.open("GET","resto_lista.php?pag="+nropagina+"&select1="+select1.value+"&select2="+select2.value+"&select3="+select3.value+"&id_cocina="+id_cocina.value+"&id_precio="+id_precio.value);
divContenido.innerHTML= '<img src="ajaxloader.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 botón de BUSCAR es así:
Código HTML:
<input name="boton" type="button" id="boton" onclick="Pagina(1);" value="Buscar" />
Tomo las variables enviadas de esta manera:
resto_lista.php
Código PHP:
// realizar esta función si se apretó el botón de enviar en el formulario de busqueda
if(isset($_GET['boton']))
// declarar variables los datos del formulario
$select1 = $_GET['select1'];
$select2 = $_GET['select2'];
$select3 = $_GET['select3'];
$idcocina = $_GET['id_cocina'];
$idprecio = $_GET['id_precio'];
{
// declarar las condiciones usando la opción WHERE, dependiendo de lo enviado en el formulario
$condiciones = "";
if ($select1 != "") $condiciones .= " AND restaurantes.id_provincia = $select1";
if ($select2 != "" && $condiciones != "") $condiciones .= " AND restaurantes.id_localidad = $select2";
if ($select3 != "" && $condiciones != "") $condiciones .= " AND restaurantes.id_zona = $select3";
if ($idcocina != "" && $condiciones != "") $condiciones .= " AND restaurantes.id_cocina = $idcocina";
if ($idprecio != "" && $condiciones != "") $condiciones .= " AND restaurantes.id_precio = $idprecio";
// obtener datos de la base
$registros = 8;
$pag = $_GET['pag'];
if (!$pag) {
$inicio = 0;
$pag = 1;
}
else {
$inicio = ($pag - 1) * $registros;
}
$sql = "SELECT * FROM ........ WHERE ....... $condiciones ORDER BY id_rubro";
$result = mysql_query($sql, $conexion);
$total_registros = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM ....... WHERE ....... $condiciones ORDER BY id_rubro LIMIT $inicio, $registros", $conexion) or die (mysql_error());
.........
// se listan los resultados en 2 filas y 4 columnas y se arma el paginador...
// Paginador
$total_paginas = ceil($total_registros / $registros);
$PagAnt=$pag-1;
$PagSig=$pag+1;
if(($PagAnt) > 0) {
echo "<a href='javascript:Pagina(" .$PagAnt. ")'>« ANTERIOR</a> ";
} else {
echo "<b>« ANTERIOR</b> ";
}
for ($i=1; $i<=$total_paginas; $i++){
if ($pag == $i) {
echo "<b>".$pag."</b> ";
} else {
echo "<a href='javascript:Pagina(" .$i. ")'>$i</a> ";
}
}
if(($PagSig)<=$total_paginas) {
echo " <a href='javascript:Pagina(" .$PagSig. ")'>SIGUIENTE »</a>";
} else {
echo "<b>SIGUIENTE »</b> ";
¿Por qué en mi PC funciona y en el servidor de internet no?
¿alguna sugerencia después de haber luchado tanto con esto?
Gracias a todos y saludos.
Marx.