Foros del Web » Programando para Internet » PHP »

Problema al paginar

Estas en el tema de Problema al paginar en el foro de PHP en Foros del Web. Hola alguno de ustedes sabe como puedo añadirle un codigo a esta pagina para que me muestre los resultados de la conslta de la base ...
  #1 (permalink)  
Antiguo 18/04/2004, 10:07
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 20 años, 7 meses
Puntos: 0
Problema al paginar

Hola alguno de ustedes sabe como puedo añadirle un codigo a esta pagina para que me muestre los resultados de la conslta de la base de datos en forma paginada.

este es mi codigo:

<?php

if (!eregi("modules.php", $_SERVER['PHP_SELF'])) { die ("You can't access this file directly..."); }

$module_name = basename(dirname(__FILE__));

require_once("mainfile.php");

get_lang($module_name);

$index =0;

global $prefix, $db, $user, $admin;

$pagetitle = " - $module_name";

function getparent($catid, $title) {

global $prefix, $db;

$result=$db->sql_query("SELECT id, nombre, cid FROM ".$prefix."_docs_cat WHERE id=$catid");

list($id, $nombre, $cid) = $db->sql_fetchrow($result);

if ($nombre != "") $title = "<A href=\"modules.php?name=Documentos&cid=$id\">$nomb re</A> -> $title";

if ($cid != 0) {

$title = getparent($cid, $title);

}

return $title;

}


function viewdoc($id, $nombre, $archivo, $cid) {

global $prefix, $db, $admin;

if (!is_admin($admin)) {

$db->sql_query("UPDATE ".$prefix."_docs_docs SET lecturas = lecturas + 1 WHERE id = $id");

}
$result = $db->sql_query("SELECT id, nombre, imagen, cid FROM ".$prefix."_docs_cat WHERE id = $cid");

list($id, $catnombre, $imagen, $cid) = $db->sql_fetchrow($result);

$categoria = "<A href=\"modules.php?name=Documentos&cid=$id\">$catn ombre</A>";

$categoria = getparent($cid, $categoria);

$pagetitle = "$pagetitle - $nombre";

include ("header.php");

OpenTable2();

echo "<table border=\"0\" width=\"100%\" cellpadding=\"2\"><tr>"

."<td align=\"left\" valign=\"top\"><font class=\"tiny\"><A href=\"modules.php?name=Documentos\">"._MAINCATS." </A> -> $categoria</font><br>\n"

."<font class=\"title\"><b>$nombre</b></font></td>\n"

."<td align=\"right\" valign=\"middle\"><img src=\"images/documentos/$imagen\" border=\"0\" alt=\"$catnombre\"></td></tr></table>";

CloseTable2();

echo "<br>";

OpenTable();

include("documentos/$archivo");

CloseTable();

include ("footer.php");

}

if (!$did || $did == 0) {

if (!$cid || $cid == 0) {

$pagetitle = "$pagetitle - Categorias Principales";

include ("header.php");

OpenTable2();

echo "<center><font class=\"title\"><b>"._DOCUMENTOS."</b></font></center>";

CloseTable2();

echo "<br>";

OpenTable();

$result=$db->sql_query("SELECT id, nombre, imagen FROM ".$prefix."_docs_cat WHERE cid = 0 ORDER BY id");

echo "<b>"._MAINCATS."</b><br>"

."<table border=\"0\" width=\"100%\" align=\"center\" cellpadding=\"2\">";

$count = 0;

while(list($id, $nombre, $imagen) = $db->sql_fetchrow($result)) {

echo "<td align=\"center\">"

."<a href=\"modules.php?name=Documentos&cid=$id\"><img src=\"images/documentos/$imagen\" border=\"0\" alt=\"$nombre\"></a><br>"

."<strong><big>&nbsp;<img src=images/blocks/icon_dot.gif></big></strong>&nbsp;&nbsp;<a href=\"modules.php?name=Documentos&cid=$id\">$nomb re</a>";

$count++;

if ($count == 5) {

echo "</tr><tr>";

$count = 0;

}

}

echo "</table>";

CloseTable();

include ("footer.php");

} elseif ($cid > 0) {

$result=$db->sql_query("SELECT id, nombre, imagen, cid FROM ".$prefix."_docs_cat WHERE id = $cid");

list($catid, $catnombre, $imagen, $cid) = $db->sql_fetchrow($result);

if (!$catid) {

Header("Location: modules.php?name=Documentos");

} else {

$nombre = getparent($cid, "");

$pagetitle = "$pagetitle - $catnombre";

include ("header.php");

OpenTable2();

echo "<table border=\"0\" width=\"100%\" cellpadding=\"2\"><tr>"

."<td align=\"left\" valign=\"top\"><font class=\"tiny\"><A href=\"modules.php?name=Documentos\">"._MAINCATS." </A> -> $nombre</font><br>\n"

."<font class=\"title\"><b>$catnombre</b></font></td>\n"

."<td align=\"right\" valign=\"middle\"><img src=\"images/documentos/$imagen\" border=\"0\" alt=\"$catnombre\"></td></tr></table>";

CloseTable2();

echo "<br>";

// Obtenemos la página actual, por el método que más nos guste
// Por defecto, la página se propaga por la variable $pagina
$pagina = $HTTP_GET_VARS["pagina"];
// Incluimos la Clase Paginado
include("class.paginado.php");
$rs = new paginado($Conn); // instanciamos un objeto
$rs->pagina($pagina); // Le indicamos en que página estamos - 1 por defecto
$rs->porPagina(10); // Le decimos cuantos registros por página queremos - 20 por defecto
$rs->propagar("forum"); // Le decimos las variables que queremos propagar en los links
$result = $db->sql_query("SELECT id, nombre, imagen FROM ".$prefix."_docs_cat WHERE cid = $catid ORDER BY nombre");

if ($db->sql_numrows($result) > 0) {

OpenTable();

echo "<center><b>"._SUBCATSS." $catnombre</b><br></center><br>";

echo "<table border=\"0\" width=\"100%\" align=\"center\" cellpadding=\"2\">";

$count = 0;

while(list($id, $nombre, $imagen) = $db->sql_fetchrow($result)) {

echo "<td align=\"center\">"

."<a href=\"modules.php?name=Documentos&cid=$id\"><img src=\"images/documentos/$imagen\" border=\"0\" alt=\"$nombre\"></a><br>"

."<strong><big></big></strong>&nbsp;&nbsp;<a href=\"modules.php?name=Documentos&cid=$id\">$nomb re</a>";

$count++;

if ($count == 5) {

echo "</tr><tr>";

$count = 0;

}

}
// Finalmente mostramos los medios para la navegación entre los resultados.
echo $rs->anterior()." - ".$rs->nroPaginas()." - ".$rs->siguiente();
echo "</table>";

CloseTable();

echo "<br>";

}

$result2 = $db->sql_query("SELECT id, nombre FROM ".$prefix."_docs_docs WHERE cid = $catid ORDER BY nombre");

if ($db->sql_numrows($result2) > 0) {

OpenTable();

echo "<center><b>"._SUBDOCS." $catnombre</b><br></center><br>";

while(list($docid, $docnombre) = $db->sql_fetchrow($result2)) {

echo "<strong><big>&nbsp;<img src=images/blocks/icon_dot.gif></big></strong>&nbsp;&nbsp;<a href=\"modules.php?name=Documentos&did=$docid\">$d ocnombre</a><br>";

}

CloseTable();

}

include ("footer.php");

}

}

} elseif ($did > 0) {

$result = $db->sql_query("SELECT id, nombre, archivo, cid, permiso FROM ".$prefix."_docs_docs WHERE id = $did");

list($id, $nombre, $archivo, $cid, $permiso) = $db->sql_fetchrow($result);

if (!$id) {

Header("Location: modules.php?name=Documentos");

} else {

if ($permiso == 0) {

viewdoc($id, $nombre, $archivo, $cid);

}

if ($permiso == 1 AND is_user($user) || is_admin($admin)) {

viewdoc($id, $nombre, $archivo, $cid);

} elseif ($permiso == 1 AND !is_user($user) || !is_admin($admin)) {

$pagetitle = "- "._ACCESSDENIED."";

include("header.php");

title("$sitename: "._ACCESSDENIED."");

OpenTable();

echo "<center><b>"._RESTRICTEDAREA."</b><br><br>"

.""._MODULEUSERS.""

.""._GOBACK."";

CloseTable();

include("footer.php");

die();

}

if ($permiso == 2 AND is_admin($admin)) {

viewdoc($id, $nombre, $archivo, $cid);

} elseif ($view == 2 AND !is_admin($admin)) {

$pagetitle = "- "._ACCESSDENIED."";

include("header.php");

title("$sitename: "._ACCESSDENIED."");

OpenTable();

echo "<center><b>"._RESTRICTEDAREA."</b><br><br>"

.""._MODULESADMINS.""

.""._GOBACK."";

CloseTable();

include("footer.php");

die();

}

if ($permiso > 2 AND is_user($user)) {// || is_admin($admin)

$userInfo = getusrinfo($user);

$newView = $permiso - 2;

list($gname) = $db->sql_fetchrow($db->sql_query("select gname from ".$prefix."_users_groups where gid=$newView"));

list($confUID) = $db->sql_fetchrow($db->sql_query("select uid from ".$prefix."_users_groups_users where gid=$newView AND uid=$userInfo[user_id]"));

if ($confUID == $userInfo[user_id] || is_admin($admin)) {

viewdoc($id, $nombre, $archivo, $cid);

} else {

$pagetitle = "- "._ACCESSDENIED."";

include("header.php");

title("$sitename: "._ACCESSDENIED."");

OpenTable();

echo "<center><b>"._RESTRICTEDAREA."</b><br><br>"

."We are Sorry but this section of our site is for <i>$gname Only</i><br><br>"

.""._GOBACK."";

CloseTable();

include("footer.php");

die();

}

} elseif ($permiso > 2 AND !is_user($user)) {

$pagetitle = "- "._ACCESSDENIED."";

include("header.php");

title("$sitename: "._ACCESSDENIED."");

OpenTable();

echo "<center><b>"._RESTRICTEDAREA."</b><br><br>"

.""._MODULEUSERS.""

.""._GOBACK."";

CloseTable();

include("footer.php");

die();

}

}

}



?>



Como puedo hacerlo? os agradeceria mucho que me ayudarais.

saludos
  #2 (permalink)  
Antiguo 18/04/2004, 13:49
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Eso es PHP-Nuke si no me equivoco detalla bien la parte de ese código que necesitas paginar y ahi te ayudamos.

Saludos.
__________________
ChilenoCesar Looking for something new...
  #3 (permalink)  
Antiguo 19/04/2004, 07:39
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola exactamente esta es la parte que necesito paginar:

echo "<br>";



$result = $db->sql_query("SELECT id, nombre, imagen FROM ".$prefix."_docs_cat WHERE cid = $catid ORDER BY nombre");

if ($db->sql_numrows($result) > 0) {

OpenTable();

echo "<center><b>"._SUBCATSS." $catnombre</b><br></center><br>";

echo "<table border=\"0\" width=\"100%\" align=\"center\" cellpadding=\"2\">";

$count = 0;

while(list($id, $nombre, $imagen) = $db->sql_fetchrow($result)) {

echo "<td align=\"center\">"

."<a href=\"modules.php?name=Documentos&cid=$id\"><img src=\"images/documentos/$imagen\" border=\"0\" alt=\"$nombre\"></a><br>"

."<strong><big></big></strong>&nbsp;&nbsp;<a href=\"modules.php?name=Documentos&cid=$id\">$nomb re</a>";

$count++;

if ($count == 5) {

echo "</tr><tr>";

$count = 0;

}



Muchas gracias por ayudarme.
Saludos
  #4 (permalink)  
Antiguo 22/04/2004, 21:12
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
mira hace poco edite una paginación del nuke para un cliente y pues ahora no tengo tiempo te dejo esa como ejemplo para que modifiques ojala te sirva.

<?php
$ver=$_GET['ver'];
include("conexion.php");

$prefix = nuke;
// Inicio de Paginacion
IF ($ver>0) { $n=$ver;} ELSE { $n=0; }

$conta="SELECT sid FROM $prefix"._stories." ";
$result2=mysql_query($conta);
$quants=mysql_num_rows($result2);

// Fin de Paginacion
$cuantas = 100;
$result = mysql_query("SELECT sid, title FROM ".$prefix."_stories ORDER BY sid DESC LIMIT ".$n."," .$cuantas);
if (!result) {
echo "A Ocurrido un Error";
} else {
echo "
<h1>$sitename</h1></center>
<table border=\"0\" width=\"300\">
<tr>
<td bgcolor=\"#efefef\"><FONT face=\"Verdana, Arial, Helvetica\" size=\"2\" color=\"#336699\"><B>TITULO DE LA NOTICIA</B></FONT></td>
</tr>";
for ($m=0; $m < mysql_num_rows($result); $m++) {
list($sid, $title, $time) = mysql_fetch_row($result);
echo "<tr>
<td>- <a href=\"noticias.php?ver=$sid\"><FONT face=\"Verdana, Arial, Helvetica\" size=\"2\" color=\"#000000\">$title</FONT></a></td>
</tr>";
}
echo"</table>";
}
echo "<BR><CENTER>Tenemos ".$quants." Noticias</CENTER>";
echo "<HR width=\"300\" size=\"1\" noshade>
<TABLE border=\"0\" width=\"300\">
<TR>
<TD align=\"right\" width=\"25%\">
<FONT face=\"Verdana, Arial, Helvetica\" size=\"1\" color=\"#336699\">Páginas: </FONT>";

FOR ($i=0; $i< $quants; $i=$i+$cuantas) {
$a=$a+1;

IF ($n==$i) {
echo "<A href=\"notas.php?ver=".$i."\">[<B>".$a."</B>]</A> ";
} ELSE {
echo "<A href=\"notas.php?ver=".$i."\">".$a."</A> - ";
}
}
echo "</TD>
</TR>
</TABLE>";

?>


Saludos.
__________________
ChilenoCesar Looking for something new...
  #5 (permalink)  
Antiguo 22/04/2004, 21:13
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Puedes sacarle el codigo HTML par que este mas claro pero yo en serio no tengo tiempo si tengo ahi lo hago pero por ahora trata e ir modificando ese por ultimo es mas facil si te da error arreglar eso y seguir con lo otro y asi.

Saludos.
__________________
ChilenoCesar Looking for something new...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:30.