Hola a todos, soy nuevo en esta página y también la primera vez que pido ayuda en este foro, pero actualmente estoy creando una página web y en esta página he encontrado la mayoría de las soluciones, y es por eso que les escribo y es que necesito la siguiente ayuda y me gustaría que me pudieran ayudar lo más pronto posible
Como el título lo dice necesito ayuda sobre paginación, o sea, limitar la cantidad de registros por página, y mi código "index.php" donde necesito ayuda es el siguiente:
Código PHP:
<?php
$conexion = mysql_connect("localhost", "users", "pass1w")
or die("No se pudo realizar la conexion");
mysql_select_db("eco",$conexion)
or die("ERROR con la base de datos"); //Realiza la conexion a la base de datos
$dsn = 'mysql:host=localhost;dbname=eco';
mysql_query("SET NAMES 'utf8'");
$username = 'users';
$password = 'pass1w';
try {
$db = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
$error_message = $e->getMessage(); //crea un objeto de tipo PDO para su conexion
exit();
}
$query = "SELECT * FROM noticias ORDER BY id_noticias DESC";
$resultados = $db->query($query);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.google.com">
<html xmlns="http://www.google.com">
<link rel="stylesheet" type="text/css" href="index.css" />
<Title>noticias</Title>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<div id="header">
<?php
include ('header.php');
?>
</head>
<body>
<?php
include ('menu.php');
?>
<?php
include ('menu2.php');
?>
<div id="recuadro1">
<h2 align="center"><marquee WIDTH=80% SCROLLAMOUNT=10> Bienvenido seas a la página informativa acerca del uso adecuado y reciclaje del papel bond </a></marquee> </h2>
<br>
<table align="center" style="font-size:20pt; font-style:italic; font-family:Arial; " >
<?php foreach ($resultados as $resultado) :?>
<?php $id_noticias = $resultado["id_noticias"]; ?>
<?php $titulo = $resultado["titulo"];?>
<tr >
<td >
<a class ="link" href="descripcion.php?id_noticias=<?php echo $id_noticias; ?>">
<?php echo "$id_noticias; ". "$titulo"; echo "<br>";?>
</td>
</tr>
<tr>
<td align="center">
<!--ahora solamente debemos mostrar la imagen-->
<?php echo "<img src=".$resultado['imagen'].">"; ?>
</td>
</tr>
<tr align="justify">
<td>
<?php
$texto=$resultado['texto1'];
$texto2= strip_tags($texto);
$texto_cortado=substr(html_entity_decode($texto2), 0,100);
?> <!--Es el límite de caracteres de que deben de aparecer por noticia-->
<?php echo $texto_cortado?>  [...]
<a class ="link" href="descripcion.php?id_noticias=<?php echo $id_noticias; ?>">Seguir Leyendo...</a></td>
</td>
</tr>
<?php endforeach; ?>
</table>
<div style="clear:both;"><div><!-- es el límite del div, por cada noticia nueva el div se ajustará al tamaño-->
</div>
</div>
</div>
<?php
include ('base.php');
?>
</body>
</html>
Como pueden ver es una página para publicar noticias, y lo que se publica es: "id" del título, título, imagen y el texto acortado con un límite de caracteres, y pues, todo me funciona bien, me funciona justo como quiero que funcione, hasta ahí no hay problema, mi problema radica en que si sigo publicando más noticias desde mi base de datos, todas las noticias se van a juntar en una sola página, entonces es ahí mi problema.
Entonces, ahora lo que necesito es "paginación", y es que he estado buscando por varias páginas en internet y he encontrado muy buenas soluciones, pero no como yo las quiero, uno de los mejores ejemplos es el siguiente:
Código PHP:
<?php
//para ver al detalle la utilizacion de esta libreria puede ingresar a
//http://phppaging.phperu.net/basico/
//WWW.djcharlie.tk
require_once 'PHPPaging.lib.php';
mysql_connect("localhost","root");
mysql_select_db("base");
$paging = new PHPPaging;
$paging->agregarConsulta("select * from visitante");
// Ejecutamos la paginación
$paging->ejecutar();
while($f= $paging->fetchResultado()) {
echo $f['Nombre'].'<br>';
}
echo 'Paginas '.$paging->fetchNavegacion();
?>
Esa parte de código la conseguí en youtube, y sí funciona, pero el problema es que ahí está usando un "while", cosa que no sé como usar, entonces, quisiera que alguien me pudiera a ayudar a juntar mi código con el código de paginacion, sin deshacerme de mi "foreach".
Ante todo, gracias por su atención comunidad forosdelweb.
PD: el código de paginación viene acompañado de otro .php, pero no lo publiqué porque está larguísimo.
Si necesitan más información con mucho gusto se las daré