Foros del Web » Programando para Internet » PHP »

aomo ampliar los resultados de una paginacion

Estas en el tema de aomo ampliar los resultados de una paginacion en el foro de PHP en Foros del Web. Como ampliar los resultados de una paginacion Buenas, quisiera que en lo resultados de esta paginacion: www.forotandil.com.ar/paginacion salga un enlace en cada resultado, para ampliar ...
  #1 (permalink)  
Antiguo 02/02/2011, 15:49
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Pregunta aomo ampliar los resultados de una paginacion

Como ampliar los resultados de una paginacion

Buenas, quisiera que en lo resultados de esta paginacion:
www.forotandil.com.ar/paginacion

salga un enlace en cada resultado, para ampliar la informacion dada, por ejemplo, como en este foro, cuando se muestran los temas, hacemos click y nos lleva a dicho tema, saben alguna forma de hacerlo???

Tambien tengo un formulario para agregar datos en la bd , los cuales son los que se muestran en la paginacion anterior:

formulario:
www.forotandil.com.ar/paginacion/postear.php

aqui les dejo el codigo de la paginacion por si quieren verlo:

<?

function conectar()
{
$base_de_datos = "bd";
$db_usuario = "user";
$db_password = "pass";

if (!($link = mysql_connect("localhost", $db_usuario, $db_password)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($base_de_datos, $link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$db = conectar();


$registros = 3;

if (!$pagina) {
$inicio = 0;
$pagina = 0;
}
else {
$inicio = ($pagina - 1) * $registros;
}


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Paginacion de Prueba</title>
<link rel="stylesheet" href="estilos.css" type="text/css" media="all">
<style>
body { font-family: arial; font-size:12px}
</style>
</head>

<body>
<div align="center">
<h1>Pagina de Prueba</h1>
<div id="resultados">
<?
$resultados = mysql_query("SELECT id FROM articulo ");
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_query("SELECT * FROM articulo ORDER BY id LIMIT $inicio, $registros");
$total_paginas = ceil($total_registros / $registros);

if($total_registros) {

while($articulo=mysql_fetch_array($resultados)) {

echo "<b>".$articulo["id"]."<br></b>";
echo "<b>".$articulo["titulo"]."<br></b>";
echo "<font color='#666666'>".$articulo["descripcion"]."</font><br></b>";
echo "<font color='#000000'>".$articulo["contenido"]."</font><br>";
echo "<font color='#ff0000'>".$articulo["fecha"]."</font><br>";
}

} else {
echo "<font color='darkgray'>(sin resultados)</font>";
}

mysql_free_result($resultados);

if($total_registros) {
?>
</div>
<div id="resultados">
<?
echo "<center>";

if(($pagina - 1) > 0) {
echo "<a href='?pagina=".($pagina-1)."'>< Anterior</a> ";
}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i)
echo "<b>".$pagina."</b> ";
else
echo "<a href='?pagina=$i'>$i</a> ";
}

if(($pagina + 1)<=$total_paginas) {
echo " <a href='?pagina=".($pagina+1)."'>Siguiente ></a>";
}

echo "</center>";

}
?>
</div>
</div>
<!--WHERE visible = 1-->
</body>
</html>
<? mysql_close($db);?>

que opinan??? gracias por su tiempo.....
  #2 (permalink)  
Antiguo 02/02/2011, 19:45
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años, 6 meses
Puntos: 11
Respuesta: aomo ampliar los resultados de una paginacion

Creo que sé a que te refieres, añadiré a lo que creo que te refieres:

Código PHP:
<?

function conectar() 

$base_de_datos "bd";
$db_usuario "user"
$db_password "pass"

if (!(
$link mysql_connect("localhost"$db_usuario$db_password))) 

echo 
"Error conectando a la base de datos."
exit(); 

if (!
mysql_select_db($base_de_datos$link)) 

echo 
"Error seleccionando la base de datos."
exit(); 

return 
$link


$db conectar();


$registros 3;

if (!
$pagina) { 
$inicio 0
$pagina 0

else { 
$inicio = ($pagina 1) * $registros



?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Paginacion de Prueba</title>
<link rel="stylesheet" href="estilos.css" type="text/css" media="all">
<style>
body { font-family: arial; font-size:12px}
</style>
</head>

<body>
<div align="center">
<h1>Pagina de Prueba</h1>
<div id="resultados">
<?
$resultados 
mysql_query("SELECT id FROM articulo ");
$total_registros mysql_num_rows($resultados); 
$resultados mysql_query("SELECT * FROM articulo ORDER BY id LIMIT $inicio, $registros"); 
$total_paginas ceil($total_registros $registros); 

if(
$total_registros) {

while(
$articulo=mysql_fetch_array($resultados)) {

echo 
"<b>".$articulo["id"]."<br></b>";

// AQUI ES DONDE METO LA MANO
//VAMOS A PASAR UNA VARIABLE POR URL MEDIANTE GET

echo "<b><a href="articulo.php?id=".$articulo["id"].""> ".$articulo["titulo"]."<br></b>";
echo 
"<font color='#666666'>".$articulo["descripcion"]."</font><br></b>";

echo 
"<font color='#000000'>".$articulo["contenido"]."</font><br>";
echo 
"<font color='#ff0000'>".$articulo["fecha"]."</font><br>";
}

} else {
echo 
"<font color='darkgray'>(sin resultados)</font>";
}

mysql_free_result($resultados); 

if(
$total_registros) {
?>
</div>
<div id="resultados">
<?
echo "<center>";

if((
$pagina 1) > 0) {
echo 
"<a href='?pagina=".($pagina-1)."'>< Anterior</a> ";
}

for (
$i=1$i<=$total_paginas$i++){ 
if (
$pagina == $i
echo 
"<b>".$pagina."</b> "
else
echo 
"<a href='?pagina=$i'>$i</a> "
}

if((
$pagina 1)<=$total_paginas) {
echo 
" <a href='?pagina=".($pagina+1)."'>Siguiente ></a>";
}

echo 
"</center>";

}
?>
</div>
</div>
<!--WHERE visible = 1-->
</body>
</html>
<? mysql_close($db);?>
Ahora solo te falta crear un archivo que recoja la variable php que le paso por url de dicha línea de tabla.

Espero haber acertado en lo que querías.

Saludos
  #3 (permalink)  
Antiguo 02/02/2011, 20:14
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años, 6 meses
Puntos: 11
Respuesta: aomo ampliar los resultados de una paginacion

Y otra cosa:

Código PHP:
$resultados mysql_query("SELECT * FROM articulo ORDER BY id LIMIT $inicio, $registros"); 
Si quieres que aparezcan en orden de nuevo a viejo, añade ésto:

Código PHP:
$resultados mysql_query("SELECT * FROM articulo ORDER BY id Desc LIMIT $inicio, $registros"); 
  #4 (permalink)  
Antiguo 03/02/2011, 01:34
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: aomo ampliar los resultados de una paginacion

Gracias por responder, pero no me funciono, copie todo entero tal cual como lo pusiste, y al cargar la pagina, dice "http 500 error interno del servidor" puede ser que falte cerrar el enlace </a> ? trate de ubicarlo en algun sitio pero no me salio.

Y en donde dices que debo crear un archivo que recoja la variable PHP, te refieres a crear una pagina llamada articulo.php ? la cree, le puse el codigo para conectarse a la bd, y me faltaria ponerle lo del codigo que recoja la variable, puede ser algo asi?

articulo.php:

<?

function conectar()
{
$base_de_datos = "bd";
$db_usuario = "usuario";
$db_password = "contaseña";

if (!($link = mysql_connect("localhost", $db_usuario, $db_password)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($base_de_datos, $link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$db = conectar();?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Page title</title>
</head>
<body>
<?php echo $articulo ?>


</body>
</html>

---------------------
Disculpa las molestias, es que recien estoy empezando con esto y no entiendo mucho......
  #5 (permalink)  
Antiguo 03/02/2011, 02:26
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: aomo ampliar los resultados de una paginacion

Creo que ya lo arregle:
Parece que ademas de cerrar el enlace con </a>, tambien habia que poner estas comillas simples ( ' ) en la ruta, en lugar de las dobles ( " ),

echo "<b><a href='articulo.php?id=".$articulo["id"]."<br/>".$articulo["fecha"]."<br/>".$articulo["contenido"]."'>".$articulo["titulo"]."-</a><br/>";

-en la ruta le puse todas las variables que quiero que salgan en articulo.php.

-en articulo.php puse esto:

<?

function conectar()
{
$base_de_datos = "******";
$db_usuario = "*******";
$db_password = "*******";

if (!($link = mysql_connect("localhost", $db_usuario, $db_password)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($base_de_datos, $link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$db = conectar();?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Page title</title>
</head>
<body>

<?php
echo $titulo;
echo $descripcion;
echo $contenido;
echo $fecha;
echo $id; //esta no la muestra porque no la puse en la ruta de index.php, no?
?>
</body>
</html>

Parece que funciona, pero en la barra de direcciones sale todo medio raro, que opinas?

Etiquetas: paginacion, resultados, php-mysql
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 23:16.