Ir al contenido


Foto

PROBLEMA CON PAGINACION EN PHP


  • Por favor identifícate para responder
5 respuestas en este tema

#1 He dark

He dark

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 14 diciembre 2011 - 10:09

Hola que tal estoy siguiendo el curso de POO de el maestro cesar cancino
y bueno mis pocos conocimientos no me permiten solucionar el siguiente problema:


bueno en el video tutorial n°11 del curso de POO el maestro Cesar enseña a crear un blog bueno el detalle es el siguiente que al cargar este blog carga los registros de una categoria en especifico en este  la categoria 1 pues lo que yo quiero es que me cargue  los ultimos registros que han sido ingresados sin importar la categoria por ejemplo si yo en la barra de direcciones del navegador pongo la
url  index/?cat=0 me sale un mensaje diciendo "no hay registros asociados a  esta categoría" yo quiero que en ves de que me salga ese mensaje me salgan los ultimos registros que han sido ingresados sin importar la categoria asi como sale en la pagina del maestro cesar cancino alguien podria ver el codigo y darme una solucion yo se que para muchos de ustdes esto es muy facil espero su ayuda gracias.

Este es el codigo php que se encuentra en mi archivo class.php


<?php
session_start();
class Conectar
{
public static function con()
{
$con=mysql_connect("localhost","root","12345");
mysql_query("SET NAMES 'utf8'");
//mysql_query("SET NAMES 'utf8'");
mysql_select_db("blog");
return $con;
}
public static function corta_palabra($palabra,$num)
{
$largo=strlen($palabra);//indicarme el largo de una cadena
$cadena=substr($palabra,0,$num);
return $cadena;
}

}

class Trabajo
{
private $cat=array();
private $noticias=array();
private $post=array();
private $comentarios=array();
private $ultimas=array();

public function get_categorias()
{
$sql="select * from categorias order by categoria asc";
//echo "$sql<br>";
$res=mysql_query($sql,Conectar::con());
while ($reg=mysql_fetch_assoc($res))
{
$this->cat[]=$reg;
}
return $this->cat;
}
public function get_paginacion_noticias($inicio,$c)
{
//$sql="select * from noticias order by id_noticia desc limit $inicio,10";

$sql="select * from noticias where id_categoria=$c order by id_noticia desc limit $inicio,10";
//echo "$sql<br>";
$res=mysql_query($sql,Conectar::con());
while ($reg=mysql_fetch_assoc($res))
{
$this->noticias[]=$reg;
}
return $this->noticias;
}

}
?>


Este es el codigo Php que se encuentra en la pagina index.php

<div id="content">

<div id="contenedor">

<?php

if (isset($_GET["pos"]))
{
$inicio=$_GET["pos"];
}else
{
$inicio=0;
}
if (isset($_GET["cat"]))
{
$c=$_GET["cat"];
}else
{
$c=1;
}
?>
<?php
$datos=$tra->get_paginacion_noticias($inicio,$c);
if (count($datos)==0)
{
echo "<h1>no hay registros asociados a  esta categoría</h1>";
}

else{
for ($i=0;$i<sizeof($datos);$i++)
{
?>

<div id="separador_post"></div>

<div id="post">
<div id="titulo_post">
<div id="titulo"><?php echo $datos[$i]["titulo"];?></div>
<div id="fecha"><?php echo $datos[$i]["fecha_cadena"];?></div>
</div>
<div id="texto_post">
<hr>
<?php echo Conectar::corta_palabra($datos[$i]["detalle"],300);?>....
</div>
<div id="separador_texto_debajo"></div>
<div id="debajo_post">
<div id="leer_mas">
<?php
$texto=str_replace(" ","-",$datos[$i]["titulo"]);
//echo $texto;
?>
<a href="<?php echo $texto."p".$datos[$i]["id_noticia"].".html"?>">Leer M&aacute;s</a>
</div>
<div id="comentarios">Tiene <?php echo $tra->total_comentarios($datos[$i]["id_noticia"]);?> comentarios</div>
</div>
</div>

<div id="div_entre_post"></div>
<?php
}
}
?>

  • 0

#2 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 15 diciembre 2011 - 04:36

Si no te quieres enliar demasiado puedes probar el Video 18 del Curso de PHP y MySQL de César Cancino!!!
Es una aplicación bastante más fácil!!!

Aunque la que intentas es un poco más completa!!
  • 0

#3 He dark

He dark

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 15 diciembre 2011 - 10:46

PUES LO QUE QUIERO HACER ES UN BLOG Y YA LO HE AVANZADO BASTANTE A NIVEL DE DISEÑO PERO SOLO ME FALTA ESE DETALLE DE LA PAGINACION AVER ALGUIEN  QUE SEPA HACER ESTO POR FAVOR NECESITO DE SU AYUDA PARA CONTINUAR
  • 0

#4 albert

albert

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 20 marzo 2012 - 09:08

resolvi ese problema de la siguiente manera:
en class.php modifica esto
public function get_paginacion_noticias($inicio,$c)
{
if($c==0)
{
$sql="select *from noticias order by id_noticias desc limit $inicio,6";
}else
{
$sql="select * from noticias where id_categoria=$c order by id_noticias desc limit $inicio,6";
}

y en el index.php en vez de $c=1 coloca $c=0; y listo
  • 0

#5 He dark

He dark

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 21 marzo 2012 - 07:50

:wink: ok lo probare gracias
  • 0

#6 albert

albert

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 21 marzo 2012 - 12:55

ok bueno espero que te funcione bueno si es que ya no lo habías solucionado xD
  • 0




IP.Board spam blocked by CleanTalk.