Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2015, 15:57
Avatar de mayhemarg
mayhemarg
 
Fecha de Ingreso: junio-2015
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 8 años, 10 meses
Puntos: 0
[Pedido] Paginador para noticias formato blog.

Hola, ¿qué tal? soy nuevo tanto en el foro como en el mundo del PHP. Hace tiempo construí un sitio muy estático a puro HTMLy CSS con los conocimientos básicos que fui aprendiendo de distintas webs y lo que pude aprender en la universidad (soy diseñador gráfico). Utilicé un poco de PHP, pero solo para un formulario de contacto y algunos 'includes' para las páginas que se repetían (botoneras, footer, header...), de bases de datos, MySQL, etc, no tenía ni idea.

Estoy intentando renovarlo dándole un poco de vida al mismo, nuevo diseño, y un formato de blog de noticias en el inicio que sea dinámico. La idea de esto surge en que el sitio nace de una comunidad que comenzó como un foro de foroactivo y se fue expandiendo. El foro tiene varios usuarios, entre ellos 3 administradores (uno soy yo). La idea era que, los otros dos administradores también pudieran actualizar la página web agregándole noticias y no tengan que depender todo el tiempo de mí y mis conocimientos de HTML para estar actualizándola.

Hasta ahora seguí una guía paso por paso para poder crear una base de datos, con cuatro tablas (usuarios, categorías, noticias, comentarios). Logré hacer un formulario de registro y un panel de control para admins con el que llenando formularios las noticias se agreguen a la base de datos y se muestren en el index.php y que clickeando en el título se acceda a la nota completa que también se muestra según el ID de la misma.

El problema es que yo sigo agregando noticias, pero llega un punto en el que necesito hacer un paginado de las mismas, no quiero tener una web donde el usuario tenga que scrollear hasta el infinito para encontrar una noticia vieja. Es muy tedioso. Intenté seguir varias guías para poder armar el dichoso paginado pero no puedo hacer que funcione. Siempre termino con algún error de variable no definida en algún lado. Por eso les pido su ayuda, si le podrían dar una mano a este novato con el armado de un paginado para las noticias. Les dejo aquí abajo los campos de la tabla de noticias y del index.php (si necesitan algún otro, me avisan y lo agrego).

De antemano, muchísimas gracias por molestarse.

CAMPOS DE TABLA NOTICIAS
idNoticia
titulo
copete
cuerpo
idUsuario
idCategoria
fPublicacion
fCreacion
fModificacion



INDEX.PHP

Código:
<?php

// iniciamos session
session_start ();

// archivos necesarios
require_once 'admin/config.php';
require_once 'admin/conexion.php';
require_once 'admin/esUsuario.php';

// obtengo puntero de conexion con la db
$dbConn = conectar();

// vemos si el usuario quiere desloguar
if ( !empty($_GET['salir']) ) {
	// borramos y destruimos todo tipo de sesion del usuario
	session_unset();
	session_destroy();
}

// verificamos que no este conectado el usuario
if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) {
	$arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );		
}

// listado de noticias
// traemos listado de noticias
$arrNoticias = array();
$query = "SELECT idNoticia, titulo, copete FROM `noticias` WHERE fPublicacion < '".date('Y-m-d H:i:s')."' ORDER BY fPublicacion DESC";
$resultado = mysql_query ($query, $dbConn);
while ( $row = mysql_fetch_assoc ($resultado)) {
	array_push( $arrNoticias,$row );
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Blog Personal</title>
</head>

<body>

	<h1>Blog Personal</h1>
	
	<?php if ( !empty($_GET['registro']) ) { ?>
	<div>El registro ha sido exitoso.</div>
	<?php } ?>
	
	<?php if ( empty($arrUsuario['usuario']) ) { ?>
	<ul>
		<li><a href="ingresar.php">Iniciar sesi&oacute;n</a></li>
		<li><a href="registrar.php">Reg&iacute;strate gratis</a></li>
	</ul>
	<?php } else { ?>
	<p>Bienvenido <?php echo $arrUsuario['usuario'] ?> - <a href="index.php?salir=true">Salir</a></p>
		<?php if ( $arrUsuario['tipo'] == 'admin' ) { ?>
		<ul>
			<li><a href="admin/index.php">Panel de administraci&oacute;n</a></li>
		</ul>
		<?php } ?>
	<?php } ?>

	<h2>Noticias</h2>
	<?php foreach ( $arrNoticias as $noticias ) { ?>
	<div>
		<h3><a href="vernoticia.php?idNoticia=<?php echo $noticias['idNoticia']; ?>"><?php echo $noticias['titulo']; ?></a></h3>
		<p><?php echo $noticias['copete']; ?></p>
	</div>
	<?php } ?>
</body>
</html>