hola buenooo me pueden ayudar un tuto si gustan!!! para insertar varias paginas de coment en una sola !!!! asi como en youtube q dice comentarios pagina 1 pagina2 pagina 3 le das y no se te saca del video pero si muestra los otros coment !!!!! ............... buehh de antemano gracias ......
El código:
Archivo: show_comments.php
<?php
include_once('paginator.php') // Primero hay que incluir la clase paginator.
$pagina = isset($_GET['page'] ? $_GET['page']: 1; /* Esto significa que si la variable 'page' pasada a través de GET no esta vacía, entonces queda con el valor de la misma, de lo contrario queda con el valor 1. Este es el número de página que aparecerá, en este caso, arriba (no abajo como en youtube, eso es algo que no me he dedicado a arreglar XD). */
$ipp = isset($_GET['ipp']) ? $_GET['ipp']: 10; /* Lo mismo que antes, solo que esta vez, si la variable ipp pasada por GET esta vacia, entonces queda con 10. IPP (Items Per Page) representa los elementos por página (en el caso de youtube, lo elementos serían comentarios). */
$paginator = new Paginator($ipp, $page); // Esto crea una instancia de la clase Paginator, para luego poder utilizar los métodos de la misma.
// Aquí debería ir la parte de la conexión a la base de datos y la extracción de los datos:
$conexion = mysql_connect('dominio_mysql', 'usuario_mysql', 'contraseña_mysql');
mysql_select_db('base de datos', $conexion);
$campos = 'nombre_usuario, comentario, fecha'; // $campos se refiere a los campos que quiero encontrar en la base de datos.
$tabla = 'comentarios'; // la tabla donde buscaré los datos en la base de datos (valga la redundancia).
$limit = $paginator->get_limit(); // Esto es importante. Debe ir antes de la declaración de la condición de mysql. Esta variable será la que limite la cantidad de resultados por página.
$condicion = !empty($limit) ? 'ORDER BY fecha LIMIT ' .$limit: 'ORDER BY fecha'; /* Solamente si $limit no esta vacia se le asigna un límite a la condición, de lo contrario solamente se ordena en base al campo fecha (se puede ordenar en base a lo que sea y la condición también puede tener un 'WHERE usuario='algunacosa' u otras, pero se debe limitar [LIMIT]) */
$sql = "SELECT $campos FROM $tabla $condicion"; /* Quedaría así: SELECT nombre_usuario, comentario, fecha FROM comentarios ORDER BY fecha LIMIT n <- solamente si $limit no esta vacia, de lo contrario quedarí así: SELECT nombre_usuario, comentario, fecha FROM comentarios ORDER BY fecha */
// Ejecutar la consola en MySQL:
$result = mysql_query($sql, $conexion);
$num_rows = mysql_num_rows($result); // Obtiene el total de resultados devueltos por la consulta.
$paginator->set_total_items($num_rows); // Esto asigna el total de elementos por página en base a las filas devueltas por mysql_query().
$paginator->set_mid_range(numero) /* Esto asigna un rango medio al mostrar las páginas. Recomiendo que pongan un mínimo de 10 y prueben con más para que vean lo que hace (por si no se entiende :P */
print $paginator->display_pages($page, $ipp); // Esto es lo que muestra los números de página y cada resultado. Teóricamente, esto debería mostrar las páginas donde sea que se escriba.
// Ahora hay que mostrar los resultados de mysql como se les antoje (en este caso será una tabla):
print '<table><tbody>';
foreach($fila = 0; $fila < $num_rows; $fila++) {
$mapa = mysql_fetch_array($result, $conexion); // Esto devuelve un arreglo asociativo, o sea, un arreglo con pares clave <-> valor.
print '<tr><td>' .$mapa['nombre_usuario'. '</td></tr>';
print '<tr><td>' .$mapa['comentario']. '</td></tr>';
print '<tr><td>' .$mapa['fecha']. '</td></tr>';
}
print '</tbody></table>';
?>Ahora hay que incluir lo anterior en el documento html (en realidad debe ser php):
Archivo: index.php
<html>
<head>
<title>Comentarios de los usuarios</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> <!-- Esto no puede faltar porque la clase paginator utiliza jQuery para mostrar el contenido sin tener que recargar la página completa -->
</head>
<body>
contenido ...
contenido...
<div id="comentarios"> <!-- Le pueden dar estilos como se les ocurra con CSS -->
<?php include_once('show_comments.php'); ?>
</div>
</body>
</html>Espero que te sirva (o a cualquier otra persona), de lo contrario me avisas.
Por último, reitero que la clase no es mía, sino que yo la modifiqué para mi y lamentablemente no encontré la web del autor para nombrarlo.
Saludos.