Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: programador independiente en 09 de Septiembre 2014, 06:17

Título: paginación de un sitio web con php Paginar resultados (paginado automático)
Publicado por: programador independiente en 09 de Septiembre 2014, 06:17
Saludos amigos!!! Especialmente amigo dongo!!! ahí voy de nuevo  :)

Necesito hacer la paginación de resultados de mi sitio web. He estado por 3 días buscando la manera de hacerlo y me he encontrado con una librería llamada Zebra_Pagination la cual me la he descargado, (dejo el link de descarga por si alguien se ve interesado en ella):

http://stefangabos.ro/php-libraries/zebra-pagination/

He tratado de seguir un video-tutorial de cómo implementar esta librería en mi código, pero no lo he logrado, (dejo el link del video-tutorial):

https://www.youtube.com/watch?v=mlvlealyCnk

He llegado hasta el minuto 13:35 de video y no me han salido los resultados como se ve en el video, mi código no es igual al del video y es por ello que me he perdido y no sé cómo seguir adelante.

Me podrían echar una mano? por favor  :'(

Mi código es el siguiente:

nombre del archivo: busca_grand_nl.php
Código: [Seleccionar]
<?php

//inicio codigo paginacion
require_once("Zebra_Pagination.php");
//fin codigo paginacion

//Conexion
$conexion mysql_connect('localhost''root''');
mysql_select_db('grandeza');
?>

<html>
<head>
<meta name"description" content="Caja 2 con responsive"/>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
<title>Grupo Grandeza</title>
<link rel="shortcut icon" type="image/x-icon" href="img/grandeza.ico" />
<link rel="stylesheet" type="text/css" href="../css/reset.css">
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="../css/estilos.css">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lato:300,400">
</head>
<body>
<!--linea del header, dentro se encuentra el nav-->
<header class="container">
<nav class="navbar">
<div class="container-fluid">    
<div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#menu"> 
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>
<a href="../index.html" class="navbar-brand">Inicio</a>
</div>
<div class="collapse navbar-collapse" id="menu">
    <ul class="navbar-nav">
        <li><a href="https://www.google.com">Nosotros</a></li>
        <li class="dropdown">
          <a href="https://www.google.com" class="dropdown-toggle">Casas <b class="caret"></b></a>
        <ul class="dropdown-menu">
          <li class="dropdown">
            <a href="php/buscador_grandeza.php">Coahuila</a>
            </li>
            <li class="dropdown">
            <a href="busca_grand_nl.php">Nuevo Le&oacute;n</a>
            </li>
            <li class="dropdown">
            <a href="php/buscador_grandeza.php">Sinaloa</a>
            </li>    
        </ul>
        </li>
                       
        <li><a href="../empleo.html">Empleo</a></li>
        <li><a href="https://www.google.com">Promociones</a></li>
      </ul>    

      <ul class="nav navbar-nav navbar-right">
        <li><a href="contacto.html">Contacto</a></li>
        <li class="dropdown">
          <a href="https://www.google.com" class="dropdown-toggle">Enlaces <b class="caret"></b></a>
          <ul class="dropdown-menu">
            <li><a href="http://portal.infonavit.org.mx/wps/wcm/connect/infonavit/trabajadores/precalificacion_y_puntos/precalificacion_y_puntos" target="_blank">Precalificame</a></li>
            <li><a href="http://portal.infonavit.org.mx/wps/wcm/connect/infonavit/trabajadores/saber+para+decidir/taller_en_linea_saber_para_decidir/taller_en_linea_saber_para_decidir" target="_blank">Taller en l&iacute;nea</a></li>
            <li><a href="http://portal.infonavit.org.mx/wps/wcm/connect/infonavit/trabajadores/cuanto+ahorro+tengo/cuanto_ahorro_tengo" target="_blank">Cu&aacute;nto ahorro tengo</a></li>
            <li><a href="http://portal.infonavit.org.mx/wps/wcm/connect/infonavit/trabajadores/cuanto_debo_de_mi_credito/cuanto+debo+de+mi+credito" target="_blank">Cu&aacute;nto debo de mi cr&eacute;dito</a></li>
            <li><a href="http://portal.infonavit.org.mx/wps/wcm/connect/infonavit/contactanos/canales_de_servicio/oficinas+de+atencion/citas" target="_blank">Haz tu cita</a></li>
            <li class="divider"></li>
            <li><a href="http://consultas.curp.gob.mx/CurpSP/" target="_blank">CURP</a></li>
            <li><a href="http://www.imss.gob.mx/" target="_blank">IMSS</a></li>
          </ul>
        </li>
    </ul>
</div>
</div>
    </nav>
    </header>
    <section id="contenedor_buscador">
    <aside id="izquierda">
<h4>Buscar Propiedades de Nuevo Le&oacute;n</h4><br>
<form name="form1" method="post" action="busca_grand_nl.php">
<label>B&uacute;squeda por Colonia:</label>
<input type="text" name="txtBusqueda" id="txtBusqueda">
<label>Elija Municipio*:</label>
<select name="selCiudad" id="selCiudad">
<option value="-1" selected>Ver todas las Propiedades</option>
<?php
// Seleccionamos las ciudades de la tabla municipios_nuevo_leon
$tablaciudades mysql_query("SELECT * FROM municipios_monterrey ORDER BY nombre_mun ASC"); 
// Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
while ($registrociudad mysql_fetch_array($tablaciudades)) { 
?>

<option value="<?php echo $registrociudad['id_mun']; ?>"><?php echo $registrociudad['nombre_mun']; ?></option>
<?php
// termina la zona de repeticion
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>

</select>

<input type="submit" name="cmdBuscar" id="cmdBuscar" value="&nbsp;Buscar&nbsp;">
</form>

<h5>Los campos marcados con (*) son obligatorios</h5>
</aside>
<article id="derecha">
<h2>Resultados de su b&uacute;squeda</h2>
<?php
$sql "SELECT propiedades.*, municipios_monterrey.* FROM propiedades, municipios_monterrey LIMIT 0,6 WHERE propiedades.id_mun = municipios_monterrey.id_mun";

if (isset($_POST['txtBusqueda'])) {
$sql .= " AND propiedades.colonia LIKE '%" $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$sql .= " AND propiedades.id_mun = '" intval($_POST['selCiudad']) . "'";
}
}
$sql .= " ORDER BY municipios_monterrey.nombre_mun ASC";
$tabla mysql_query($sql);
/*de aqui hasta el "else{" es el codigo para poner el mensaje de "no se encontraron resultados y el "}" que cierra esta al final, despues de "mysql_close($conexion);".*/

//inicio paginacion
$tabla $conexion->query($sql); 
//fin paginacion

$num_filas=mysql_num_rows($tabla);
if($num_filas==0){
echo "<center>No se encontraron resultados para su b&uacute;squeda</center>";
}
else{

while ($registro mysql_fetch_array($tabla)) 
{
?>


<?php $id $registro['id_dir'];?><!--En esta línea del código va entre corchetes el id de la tabla propiedades-->


<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?></label><br>
<label>Colonia:<?php echo $registro['colonia']; ?></label><br>
<label>Municipio:<?php echo $registro['municipio']; ?></label><br>
<label>Estado:<?php echo $registro['estado']; ?></label><br>
<label>Estatus:<?php echo $registro['estatus']; ?></label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?></label><br>
<a href="detalles.php?id_dir=<?php echo $id?>"><img id="img_llave" class="fade" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>

<?php
}
mysql_free_result($tabla);
mysql_close($conexion);
}
?>

</table>
</article>
</section>
<footer>
copyright@ todos los derechos reservados
</footer>
</body>
</html>

Las partes importantes del código, es decir, las que tienen que ver con el código de la paginación son estas:

Aquí lo que hago es llamar a la librería: Zebra_Pagination
Código: [Seleccionar]
//inicio codigo paginacion
require_once("Zebra_Pagination.php");
//fin codigo paginacion

Aquí lo único que hice fue agregarle al código un límite de resultados de 6:
Código: [Seleccionar]
$sql = "SELECT propiedades.*, municipios_monterrey.* FROM propiedades, municipios_monterrey LIMIT 0,6 WHERE propiedades.id_mun = municipios_monterrey.id_mun";
Y esta parte que aún no me queda muy clara:
Código: [Seleccionar]
//inicio paginacion
$tabla = $conexion->query($sql);
//fin paginacion

Si dejara el código hasta aquí lo que debería mostrar en pantalla es que mi búsqueda se limitaría a mostrar sólo los primeros 6 registros y nada más, como se muestra en el video en el minuto 13:35.

dejo una imagen del error que me muestra en pantalla.

Gracias de antemano por su ayuda, Dios les Bendiga y les Conserve la Salud.

Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 09 de Septiembre 2014, 20:51
Hola amigo, te paso un enlace a un paginador que usé hace poco y es fácil de usar, el enlace:

http://www.desarrolloweb.com/articulos/1733.php (http://www.desarrolloweb.com/articulos/1733.php)

Inténtalo con ese y a ver que tal, y ya nos cuentas.

Nota: Estaré sin internet unos días ya que vuelvo a la ciudad donde estudio y hasta que no me lo reactiven el día 15 o 16 estaré ausente....A no ser que pueda pillar alguna wep con poca seguridad, jeje.

Bueno un saludo y suerte, espero que si tienes algún problema, algún compañero me tome el relevo.

Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 09 de Septiembre 2014, 22:14
Que tal amigo dongo, espero aún encontrarte en línea!!!!!

He incluido el código que me has hecho favor de pasar, pero me han salido algunos errores, dejo el código y una imagen de los errores que me manda:

Código: [Seleccionar]
<?php
$tablaciudades mysql_query("SELECT * FROM municipios_monterrey ORDER BY nombre_mun ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>

<option value="<?php echo $registrociudad['id_mun']; ?>"><?php echo $registrociudad['nombre_mun']; ?></option>
<?php
// termina la zona de repeticion
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>

</select>

<input type="submit" name="cmdBuscar" id="cmdBuscar" value="&nbsp;Buscar&nbsp;">
</form>

<h5>Los campos marcados con (*) son obligatorios</h5>
</aside>
<article id="derecha">
<h2>Resultados de su b&uacute;squeda</h2>
<?php
$_pagi_sql "SELECT propiedades.*, municipios_monterrey.* FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun ";
if (isset($_POST['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" intval($_POST['selCiudad']) . "'";
}
}
$_pagi_sql .= " ORDER BY municipios_monterrey.nombre_mun ASC";

$_pagi_cuantos 6;

include("paginator.inc.php");

$tabla mysql_query($_pagi_sql);
/*de aqui hasta el "else{" es el codigo para poner el mensaje de "no se encontraron resultados y el "}" que cierra esta al final, despues de "mysql_close($conexion);".*/
$num_filas=mysql_num_rows($tabla);
if($num_filas==0){
echo "<center>No se encontraron resultados para su b&uacute;squeda</center>";
}
else{
while ($registro mysql_fetch_array($tabla)) 
{
?>


<?php $id $registro['id_dir'];?><!--En esta línea del código va entre corchetes el id de la tabla propiedades-->


<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?></label><br>
<label>Colonia:<?php echo $registro['colonia']; ?></label><br>
<label>Municipio:<?php echo $registro['municipio']; ?></label><br>
<label>Estado:<?php echo $registro['estado']; ?></label><br>
<label>Estatus:<?php echo $registro['estatus']; ?></label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?></label><br>
<a href="detalles.php?id_dir=<?php echo $id?>"><img id="img_llave" class="fade" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>

<?php
}
?>


<?php echo"<p>".$_pagi_navegacion."</p>"?>

<?php
mysql_free_result($tabla);
mysql_close($conexion);
}
?>

Por cierto la limitacion de resultados la coloqué en 6 pero no me la respeta.

Gracias por tu ayuda amigo dongo, Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 09 de Septiembre 2014, 22:28
Nota: Estaré sin internet unos días ya que vuelvo a la ciudad donde estudio y hasta que no me lo reactiven el día 15 o 16 estaré ausente....A no ser que pueda pillar alguna wep con poca seguridad, jeje.

Bueno un saludo y suerte, espero que si tienes algún problema, algún compañero me tome el relevo.

Bien amigo, espero que tengas un buen viaje, y como dices ojalá puedes encontrar una wep de baja seguridad!!! jaja, bueno si no, te estaré saludando el 15 o 16, para entonces espero ya tener la paginación resuelta  :-X jajaja.

Saludos!!!

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 09 de Septiembre 2014, 22:43
vale, eso son warnings de que una funcion está obsoleta. Supongo que cuando el autor la hizo no era así, para arreglarlo, hay que modificar el fichero que te has descargado:


paginator.inc.php

Para el primer error, se trata de editar el fichero y sustituir la palabra eregi_replace por preg_replace y se encuentra en la linea 174.

El segundo mensaje que se te muestra, es un notice, simplemente un aviso y no influye para nada en el funcionamiento del paginador, eso es porque en tu hosting, tienes configurado php para que muestre todos los mensajes(warning, notices, errors). Para evitar esos mensajes tendrás que mirar como desactivar los notice en tu hosting, ya que cada hosting es diferente.

Por tanto, al segundo mensaje no le eches cuenta, ya que eso es porque tu php esta configurado en un modo de debug y muestra cualquier pequeño problema que pueda encontrar.

Bueno ya nos cuentas. Saludos!!

nota: gracias, seguramente tenga un viaje bueno, jeje ademas solo son 130 KM y claro... Intentaré hacerme con la wep !!
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 09 de Septiembre 2014, 22:54
Amigo dongo he sustituido el "eregi_replace" por "preg_replace" y me ha mandado el siguiente warning en pantalla., dejo la imagen.

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 09 de Septiembre 2014, 23:09
Vale, intenta probar a sustituir tu linea 174 que será:

Código: [Seleccionar]
$_pagi_sqlConta = preg_replace("select (.*) from", "SELECT COUNT(*) FROM", $_pagi_sql);

por esta:

Código: [Seleccionar]
$_pagi_sqlConta = preg_replace("/select (.*) from/", "SELECT COUNT(*) FROM", $_pagi_sql);

A ver que tal.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 09 de Septiembre 2014, 23:20
Que tal amigo dongo. He sustituido la línea que me has indicado, y me salen un Deprecated y una Notice que mensionas no le haga caso.

Dejo la imagen.

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 09 de Septiembre 2014, 23:27
a ver es que antes me confundí y despues edite el post, te vuelvo a poner como debe quedar la linea 174:

Código: [Seleccionar]
$_pagi_sqlConta = preg_replace("/select (.*) from/", "SELECT COUNT(*) FROM", $_pagi_sql);
A ver si esta es la definitiva, jeje saludos!!
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 09 de Septiembre 2014, 23:35
amigo dongo he editado lo que me has dicho y ahora sólo me muestra la noticia _pagi_htaccces, dejo la imagen.

Sabes algo, ya no me muestra lo de la paginacion sólo un numero "1" en la parte de la derecha de la tercera casa, en la imagen se alcanza a ver.

Gracias amigo por tomarte tantas molestias!!!!

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 09 de Septiembre 2014, 23:44
Te paso el fichero modificado como adjunto, a ver si con este te funciona bien. He vuelto a modificar la linea 174 y también he modificado la linea 233 a ver si así quitamos ese notice.

bueno, ya nos cuentas.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 09 de Septiembre 2014, 23:49
Grandioso amigo dongo, ya no me sale la notice, pero no me sale lo de la paginación, creo que no he sabido incluir el código de la paginación  :-[

dejo el código:
Código: [Seleccionar]
<?php
$tablaciudades mysql_query("SELECT * FROM municipios_monterrey ORDER BY nombre_mun ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>

<option value="<?php echo $registrociudad['id_mun']; ?>"><?php echo $registrociudad['nombre_mun']; ?></option>
<?php
// termina la zona de repeticion
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>

</select>

<input type="submit" name="cmdBuscar" id="cmdBuscar" value="&nbsp;Buscar&nbsp;">
</form>

<h5>Los campos marcados con (*) son obligatorios</h5>
</aside>
<article id="derecha">
<h2>Resultados de su b&uacute;squeda</h2>
<?php
$_pagi_sql "SELECT propiedades.*, municipios_monterrey.* FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun ";
if (isset($_POST['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" intval($_POST['selCiudad']) . "'";
}
}
$_pagi_sql .= " ORDER BY municipios_monterrey.nombre_mun ASC";

$_pagi_cuantos 6;

include("paginator.inc.php");

$tabla mysql_query($_pagi_sql);
/*de aqui hasta el "else{" es el codigo para poner el mensaje de "no se encontraron resultados y el "}" que cierra esta al final, despues de "mysql_close($conexion);".*/
$num_filas=mysql_num_rows($tabla);
if($num_filas==0){
echo "<center>No se encontraron resultados para su b&uacute;squeda</center>";
}
else{
while ($registro mysql_fetch_array($tabla)) 
{
?>


<?php $id $registro['id_dir'];?><!--En esta línea del código va entre corchetes el id de la tabla propiedades-->


<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?></label><br>
<label>Colonia:<?php echo $registro['colonia']; ?></label><br>
<label>Municipio:<?php echo $registro['municipio']; ?></label><br>
<label>Estado:<?php echo $registro['estado']; ?></label><br>
<label>Estatus:<?php echo $registro['estatus']; ?></label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?></label><br>
<a href="detalles.php?id_dir=<?php echo $id?>"><img id="img_llave" class="fade" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>

<?php
}
mysql_free_result($tabla);
?>

<?php echo"<p>".$_pagi_navegacion."</p>"?>
<?php
mysql_close($conexion);
}
?>


</article>

Gracias por todas las molestias que te tomas amigo dongo!!!

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 09 de Septiembre 2014, 23:59
En tu código, debes sustituir esto:

la linea:

Código: [Seleccionar]
while ($registro = mysql_fetch_array($tabla))
por esta:

Código: [Seleccionar]
while($registro = mysql_fetch_array($_pagi_result)){
Creo que con eso ya te funcionará. Bueno, ya nos cuentas!!
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 00:09
Amigo dongo nos vamos acercando, bueno más bien tú jajajaja, porque yo no he hecho nada.

Ya me respeta el límite que le indiqué de los 6 resultados, pero sigue sin ponerme lo de la barra de anterior123siguinte, sólo me coloca un número 1 en la parte de la derecha. dejo la imagen señalando con una flecha el numero 1.

Una pregunta será que debo sustituir en todos lados donde diga "$tabla" por "$_pagi_result".

Gracias amigo dongo

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 00:15
ya comprobé que lo de sustituir "$tabla" por "$_pagi_result" no es la respuesta correcta jajajaja  :-[

Has de cuenta que no propuse esa idea amigo dongo  :-X.

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 00:23
sustituye:

Código: [Seleccionar]
<?php echo"<p>".$_pagi_navegacion."</p>"?>

por:

Código: [Seleccionar]
<?php echo "<br><p>".$_pagi_navegacion."</p>"?>

Esto es para que se muestre debajo y no al lado

Y te pregunto, tienes mas de 6 casas en la bbdd, es que esos controles suelen salir cuando hay mas de 1 pagina, es decir como tu has puesto 6 resultados en el pagi_cuantos, deberias tener almenos 7 casas en tu bbdd para que esos controles sean visibles.

Sobre tu pregunta de:

Citar
Una pregunta será que debo sustituir en todos lados donde diga "$tabla" por "$_pagi_result".

Decirte que no, no lo sustituyas eso no tiene nada que ver, es decir, esta linea podrías eliminarla "$tabla = mysql_query($_pagi_sql);" Pero como la usas para mostrar el mensaje de cuando no hay resultados, pues te esta siendo útil para eso.

Pero cuando tu en tu código, escribes:

include("paginator.inc.php");

automáticamente dentro del codigo de ese archivo se realiza la consulta.

Resumiendo, no cambies $tabla por $_pagi_result, porque entonces pisaras la variable que se encuentra en el archivo paginator.inc.php y entonces nada funcionará.

Bueno pues eso asegúrate que tienes almenos 7 casas en tu bbdd.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 00:32
Ok enterado amigo dongo lo de la sustitución ya vi los resultados jajajjaaja.

Sí de hecho tengo 8 registros en la base de datos, pero no me salen los controles, sabes desde que momento dejaron de salir los controles? desde que se modificó la línea 174 de paginator.in.php, porque antes si salían.

y he puesto el <br> y el 1 sigue donde mismo.

Saludos, Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 00:44
tras la linea:

Código: [Seleccionar]
$_pagi_cuantos = 6;

Añade esta linea:

Código: [Seleccionar]
$_pagi_conteo_alternativo=true;

A ver si así te salen.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 00:51
Vaya amigo eres un genio!!!!!!! si salen y lo hace bien.

Pero  :'( aun los controles me salen hasta arriba a la derecha, bueno la palabra "siguiente" si me sale abajo, pero los numeros me salen arriba, y ya he tratado de acomodarlo y no he podido, si le doy <br> me va pasando de renglon en renglon, es decir por cada br que le doy baja un poco.

dejo 2 imagenes amigo dongo!!!

Nombre muchas gracias amigo, eres un master!!!!!!

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 00:54
Aqui dejo la imagen 2.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 01:01
Prueba a cambiar:
Código: [Seleccionar]
<?php echo "<br><p>".$_pagi_navegacion."</p>"?>Por:
Código: [Seleccionar]
<?php echo "<br><div class="barra-navegacion"><p>".$_pagi_navegacion."</p></div>"?>
y con css creas el estilo del div:
Código: [Seleccionar]
.barra-navegacion{
        margin-top:20px;
        //todo el css ke kieras
}

A ver si así se acomoda.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 01:11
me manda un error de sintaxis si agrego el div amigo dongo.

Código: [Seleccionar]
<?php echo"<br><div class="barra-navegacion"><p>".$_pagi_navegacion."</p></div>"?>
este es el error que me manda en pantalla:

 Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\proyecto-jch-paginacion\php\busca_grand_nl.php on line 143

Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 01:12
ejk es así, fallo mio...

Código: [Seleccionar]
<?php echo "<br><div class='barra-navegacion'><p>".$_pagi_navegacion."</p></div>"?>
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 01:24
Que tal amigo dongo.

No se mueve, creo que muy poco con el div.

le di estilos al párrafo

Código: [Seleccionar]
p{
     margin-top: 50em;
}

sólo para ver si se movía y si se meuve hasta abajo, pero en la siguiente página cuando nada más hay 2 resultados ya te imaginarás que alarga mucho el article que es donde metí las div de los resultados de la búsqueda.

Un comentario en el código justo antes de cerrar el article si pongo cualquier cosa si se ve en pantalla al pie de los resultados, pero si pongo:

Código: [Seleccionar]
<?php echo"<br><div class='barra-navegacion'><p>".$_pagi_navegacion."</p></div>"?>
me sigue poniendo al lado derecho los números y la palabra "siguiente" hasta abajo
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 01:32
Bueno eso ya es eso, es cuestión de darle el estilo adecuado para que se posicione donde tu quieres, quizá con esta propiedad....

Código: [Seleccionar]
.barra-navegacion{
        margin-top:20px;
        clear:left;

        //todo el css ke kieras
}

Yo ejk el css siempre lo voy creando haciendo pruebas... no lo controlo mucho así sin poder verlo... al menos la funcionalidad del paginador ya está, ya lo demás es eso, ir metiéndole propiedades de estilo css al div o al párrafo, hasta que le des con la tecla.

Bueno saludos
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 01:36
Tienes razón amigo dongo. Lo principal es que funciona gracias a ti!!!!!

La verdad que te mando un profundo agradecimiento, reitero que tengas buen viaje, y cuando te vuelvas a conectar aquí al foro te contaré como me ha ido con el proyecto, aquí mismo en este post te dejaré mis comentarios!!!

Dios te Bendiga y te Conserve la Salud.

Gracias por todo y Dios te recompense lo que haces por mi.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 01:39
a ver si puedes mostrarme el código CSS de esa pagina, porque creo que tienes alguna propiedad que te esta provocando que eso se vea así....

tienes en el css propiedades definidas para las etiquetas <a ....></a> ??

gracias, nada hombre no hay de que! Un saludo!

Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 01:40
vaya Genio dongo funcionó se acomodó perfecto con el atributo "clear"!!!!!!!!!!!

Millones de gracias.


Dios te Bendiga y te Conserve la Salud.
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: dongo en 10 de Septiembre 2014, 01:42
jeje, estupendo, pues arreglado, bueno, pos nada suerte con la pagina, y ya hablamos!

Me voy a la cama y a ponerme alguna peli que aquí en españa ya va siendo hora...XDD
Título: Re:Ayuda por favor para la paginación de un sitio web
Publicado por: programador independiente en 10 de Septiembre 2014, 01:50
Pues muchas gracias amigo dongo, duermas bien y gracias de nuevo!!!

Por cierto si te gusta el cine, tengo miles de pelis, si buscas alguna en especial, te la puedo pasar, y también invitarte a una comunidad que es muy buena y ya no acepta registros nuevos, pero yo por ser colaborador de allí puedo mandarte una invitación la página es:

www.patiodebutacas.org

echale un vistazo y si te interesa sólo me dices y te mando tu invitación, y reitero si necesitas alguna peli en especial, yo te la consigo, la que quieras, es lo menos que puedo hacer!!!

Un saludo desde México hasta España, tú eres Español?

Bueno amigo estamos charlando mil gracias de nueva cuenta y que Dios te Bendiga y te Conserve la Salud.
Título: Re:paginación de un sitio web con php Ayuda por favor
Publicado por: programador independiente en 16 de Septiembre 2014, 23:12
Saludos amigo dongo!!

Has vuelto ya a al foro?

Cómo te ha ido?

Dios te Bendiga y te Conserve la Salud.
Título: Re:paginación de un sitio web con php Ayuda por favor
Publicado por: programador independiente en 17 de Septiembre 2014, 21:42
Que tal amigo dongo.

Quisiera, si pudieses me echaras una mano con el tema de la paginación.

Aquel día en que me decías que tardarías una semana en conectarte al foro, y que me ayudaste a que funcionara la paginación, me di cuenta ya tarde que tiene por ahí un detalle, me explico:

Tengo 8 registros de prueba en mi base de datos, de los cuales 7 pertenecen a la ciudad llamada "abasolo" y 1 pertenece a la ciudad de "monterrey", ahora bien la paginación la tengo por defecto para que muestre 6 viviendas por página;

Al realizar la búsqueda de las 7 viviendas de abasolo, en la primer página se muestran las primeras 6 viviendas de abasolo, hasta aquí todo bien, pero al ir a la segunda página, ya no me muestra la vivienda #7 de abasolo, sino que me muestra la vivienda #3 de abasolo y también me muestra la vivienda de monterrey.

Me podrías ayudar a solucionar este problema? La verdad es que ya he estado en foros preguntando, pero sólo me dijeron textualmente:

"lo unico que tenes que hacer es mantener los filtros cada vez que vaz paginando."

Pero no me dijeron como lo hago  :'(

Bueno amigo dongo espero te encuentre bien, saludos.

Así quedó el código desde la última vez:
Código: [Seleccionar]
<section id="contenedor_buscador">
    <aside id="izquierda">
<h4>Buscar Propiedades de Nuevo Le&oacute;n</h4><br>
<form id="form_buscar" name="form1" method="post" action="busca_grand_nl.php">
<label>B&uacute;squeda por Colonia:</label>
<input type="text" name="txtBusqueda" id="txtBusqueda"><br>
<label>Elija Municipio*:</label>
<select name="selCiudad" id="selCiudad">
<option value="-1" selected>Ver todas las Propiedades</option>
<?php
$tablaciudades mysql_query("SELECT * FROM municipios_nuevo_leon ORDER BY nombre_mun ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>

<option value="<?php echo $registrociudad['id_mun']; ?>"><?php echo $registrociudad['nombre_mun']; ?></option>
<?php
// termina la zona de repeticion
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>

</select><br>

<input type="submit" name="cmdBuscar" id="cmdBuscar" value="&nbsp;Buscar&nbsp;">
</form>

<label id="asterisco">Los campos marcados con (*) son obligatorios</label>
</aside>
<article id="derecha">
<h2>Resultados de su b&uacute;squeda</h2>
<?php
$_pagi_sql "SELECT propiedades.*, municipios_nuevo_leon.* FROM propiedades, municipios_nuevo_leon WHERE propiedades.id_mun = municipios_nuevo_leon.id_mun ";
if (isset($_POST['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" intval($_POST['selCiudad']) . "'";
}
}
$_pagi_sql .= " ORDER BY municipios_nuevo_leon.nombre_mun ASC";
//inicio de código para paginacion
$_pagi_conteo_alternativo=true;
$_pagi_cuantos 6;
include("paginator.inc.php");
//fin de código para paginacion

$tabla mysql_query($_pagi_sql);

/*de aqui hasta el "else{" es el codigo para poner el mensaje de "no se encontraron resultados y el "}" que cierra esta al final, despues de "mysql_close($conexion);".*/
$num_filas=mysql_num_rows($tabla);
if($num_filas==0){
echo "<center>No se encontraron resultados para su b&uacute;squeda</center>";
}
else{ //inicio de código para paginacion aqui se cambio ($tabla)) por ($_pagi_result))
while ($registro mysql_fetch_array($_pagi_result)) 
{
?>


<?php $id $registro['id_dir'];?><!--En esta línea del código va entre corchetes el id de la tabla propiedades-->


<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?></label><br>
<label>Colonia:<?php echo $registro['colonia']; ?></label><br>
<label>Municipio:<?php echo $registro['municipio']; ?></label><br>
<label>Estado:<?php echo $registro['estado']; ?></label><br>
<label>Estatus:<?php echo $registro['estatus']; ?></label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?></label><br>
<a href="detalles_nl.php?id_dir=<?php echo $id?>"><img id="img_llave" class="fade" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>

<?php
}
?>

<!--inicio de código para paginacion-->
<?php echo"<br><div class='barra-navegacion'><p>".$_pagi_navegacion."</p></div>"?>
<!--fin de código para paginacion-->
<?php
mysql_free_result($tabla);
mysql_close($conexion);
}
?>


</article>
</section>

Dios te Bendiga y te Conserve la Salud.
Título: Re:paginación de un sitio web con php Ayuda por favor
Publicado por: dongo en 23 de Septiembre 2014, 19:40
Hola amigo, para resolver lo del filtrado, intenta una cosa:

En el formulario donde aplicas el filtrado, cambia el atributo method del formulario de post a get, a ver si con get te funcionara.

Un saludo
Título: Re:paginación de un sitio web con php Ayuda por favor
Publicado por: programador independiente en 24 de Septiembre 2014, 01:18
Que tal amigo dongo, gracias por estar de nuevo en el foro!!!

Hice lo que me indicaste, pero no me funcionó, sustituí esta línea:
Código: [Seleccionar]
<form id="form_buscar" name="form1" method="post" action="busca_grand_nl.php">
por esta otra:
Código: [Seleccionar]
<form id="form_buscar" name="form1" method="get" action="busca_grand_nl.php">
también hay envíos post en esta parte del código PHP:
Código: [Seleccionar]
if (isset($_POST['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" . $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" . intval($_POST['selCiudad']) . "'";

También los sustituyo?

Gracias por responder amigo dongo.

Dios te Bendiga y te Conserve la Salud.
Título: Re:paginación de un sitio web con php Ayuda por favor
Publicado por: programador independiente en 24 de Septiembre 2014, 02:52
Genial amigo dongo, no podría haber realizado este proyecto sin tu ayuda, tus consejos, tu guía, tu sabiduría etc etc etc..... jeje

Se ha solucionado el problemilla!!!!

Cambié las líneas POST:
Código: [Seleccionar]
if (isset($_POST['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" . $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" . intval($_POST['selCiudad']) . "'";

Por líneas GET:
Código: [Seleccionar]
if (isset($_GET['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" . $_GET['txtBusqueda'] . "%' ";
if (intval($_GET['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" . intval($_GET['selCiudad']) . "'";


Muchísimas gracias amigo dongo, eres un master amigo!!!

Dios te Bendiga y te Conserve la Salud.