Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: soru13 en 21 Julio 2010, 15:48 pm



Título: problema codigo paginacion
Publicado por: soru13 en 21 Julio 2010, 15:48 pm
hola,pues resulta que estoy intentando personalizar mi código de paginación,es este:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body><? include ("config.php");
$sql = "select * from videos order by id desc limit 25";
//Instrucción a ejecutarse en la bbdd.
 
$squery = mysql_query($sql);
//Ejecución de la instrucción
 
while($row = mysql_fetch_array($squery)){
//Recuperar los datos de un registro o hilera (row) y meterlo a un array
$url = $row['id']
 ?>
 <?
// Datos de conexión a la base
$base="bd";
$con=mysql_connect(localhost,user,pass);
mysql_select_db($base,$con);
if (!isset($_GET['pg'])) //para el inicio
$pg = 0;
else $pg=$_GET['pg']; //cuando haces click sobre el siguiente link del paginador
$cantidad=4; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT img, nombre FROM videos  LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM videos";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);





 while ($registro = mysql_fetch_row($cad)){

# insertamos un salto de línea en la tabla HTML

       echo "<tr align=center height= 45px>";

       # establecemos el bucle de lectura del ARRAY
       # con los resultados de cada LINEA
       # y encerramos cada valor en etiquetas <td></td>
       # para que aparezcan en celdas distintas de la tabla

       foreach($registro  as $clave){
       echo "<div style='float: left;'><a href='videos/$url' style='border:0'>".$clave."</a></div>&nbsp;" ;


 }
}

echo "<br>";

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<br><br><br><br><br><br><p class=fonty align='center'>";
if ($pg != 0) {
$url = $pg - 1;
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
} else {
echo " ";
}
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo "<b> 1 </b>";
} else {
$i = $i+1;
echo "<b> ".$i." </b>";
}
} else {
if ($i == "0") {
echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
} else {
echo "<a href='$PHP_SELF?pg=".$i."'>";
$i = $i+1;
echo $i."</a>&nbsp;";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
} else {
echo " ";
}
echo "</p>";
?>
</body>
</html>

el caso es que me da un error en la linea 100,
Código:
Parse error: syntax error, unexpected $end in /home2/rapmadri/public_html/tupixxx/paginar.php  on line 100

y la linea 100 es esta:

Código:
</html>

me salta este error cuando encima del código de paginación le pongo éste para obtener la id

Código:
<? include ("config.php");
$sql = "select * from videos order by id desc limit 25";
//Instrucción a ejecutarse en la bbdd.
 
$squery = mysql_query($sql);
//Ejecución de la instrucción
 
while($row = mysql_fetch_array($squery)){
//Recuperar los datos de un registro o hilera (row) y meterlo a un array
$url = $row['id']
 ?>

¿porqué me sale éste error? gracias


Título: Re: problema codigo paginacion
Publicado por: Shell Root en 21 Julio 2010, 18:28 pm
Debes de mejorar la estructura de tú código. Te falta un cerrar un {. Creo que es en la siguiente linea:
Código
  1. include ("config.php");
  2. $sql = "select * from videos order by id desc limit 25";
  3. //Instrucción a ejecutarse en la bbdd.
  4.  
  5. $squery = mysql_query($sql);
  6. //Ejecución de la instrucción
  7.  
  8. while($row = mysql_fetch_array($squery)){{


Título: Re: problema codigo paginacion
Publicado por: Carluís en 21 Julio 2010, 22:02 pm
El mismo texto de error generado te está diciendo la respuesta.


Parse error: syntax error, unexpected $end in

+1 con el comentario de shell root.


Título: Re: problema codigo paginacion
Publicado por: soru13 en 22 Julio 2010, 02:00 am
aver lo conseguí arreglar un poquillo y ahora me muestra las imagenes y el texto,pero el problema es que carga primero todas las imagenes y luego todo el texto,yo lo que necesito es que me carge 1 imagen y debajo esté su texto correspondiente por id,y así sucesivamente,aver si me podeis ayudar,aqui os dejo el codigo tal cual lo tengo ahora:

Código
  1. <?
  2. // Datos de conexión a la base
  3. $base="rapmadri_graffitiongirls";
  4. $con=mysql_connect(localhost,rapmadri_general,181302);
  5. mysql_select_db($base,$con);
  6. if (!isset($_GET['pg'])) //para el inicio
  7. $pg = 0;
  8. else $pg=$_GET['pg']; //cuando haces click sobre el siguiente link del paginador
  9. $cantidad=4; // cantidad de resultados por página
  10. $inicial = $pg * $cantidad;
  11.  
  12. $pegar = "SELECT img FROM videos order by id desc LIMIT $inicial,$cantidad";
  13. $pegar2 = "SELECT nombre FROM videos order by id desc LIMIT $inicial,$cantidad";
  14. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  15. $cad2 = mysql_db_query($base,$pegar2) or die (mysql_error());
  16.  
  17. $contar = "SELECT * FROM videos";
  18. $contarok= mysql_db_query($base,$contar);
  19. $total_records = mysql_num_rows($contarok);
  20. $pages = intval($total_records / $cantidad);
  21. $squery = mysql_query($pegar2);
  22.  
  23.  
  24.  
  25.  
  26. while ($registro = mysql_fetch_row($cad)){
  27.  
  28. # insertamos un salto de línea en la tabla HTML
  29.  
  30.       echo "<table align='center' border='0' width='100%'>";
  31.   echo "<tr align=center height= 45px><td>";
  32.  
  33.       # establecemos el bucle de lectura del ARRAY
  34.       # con los resultados de cada LINEA
  35.       # y encerramos cada valor en etiquetas <td></td>
  36.       # para que aparezcan en celdas distintas de la tabla
  37.  
  38.       foreach($registro  as $clave){
  39.       echo "<div style='float: left;'>".$clave."&nbsp&nbsp;</td></tr>" ;
  40.  
  41.  
  42. }
  43. }
  44. while ($registro2 = mysql_fetch_row($cad2)){
  45.  
  46. # insertamos un salto de línea en la tabla HTML
  47.  
  48.  
  49.  
  50.       # establecemos el bucle de lectura del ARRAY
  51.       # con los resultados de cada LINEA
  52.       # y encerramos cada valor en etiquetas <td></td>
  53.       # para que aparezcan en celdas distintas de la tabla
  54.  
  55.       foreach($registro2  as $clave2){
  56.   echo "<tr align=center height= 45px><td>";
  57.       echo "<div style='float: left;'>".$clave2."&nbsp&nbsp;</td></tr>" ;
  58.  
  59.  
  60. }
  61. }
  62. echo "</table></div>";
  63.  
  64. // Cerramos la conexión a la base
  65. $con=mysql_close($con);
  66.  
  67. // Creando los enlaces de paginación
  68. echo "<br><br><br><br><br><br><p class=fonty align='center'>";
  69. if ($pg != 0) {
  70. $url = $pg - 1;
  71. echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
  72. } else {
  73. echo " ";
  74. }
  75. for ($i = 0; $i <= $pages; $i++) {
  76. if ($i == $pg) {
  77. if ($i == "0") {
  78. echo "<b> 1 </b>";
  79. } else {
  80. $i = $i+1;
  81. echo "<b> ".$i." </b>";
  82. }
  83. } else {
  84. if ($i == "0") {
  85. echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
  86. } else {
  87. echo "<a href='$PHP_SELF?pg=".$i."'>";
  88. $i = $i+1;
  89. echo $i."</a>&nbsp;";
  90. }
  91. }
  92. }
  93. if ($pg < $pages) {
  94. $url = $pg + 1;
  95. echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
  96. } else {
  97. echo " ";
  98. }
  99. echo "</p>";
  100. ?>

como puedo hacer eso? gracias a todos por la ayuda  ;)


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 22 Julio 2010, 02:32 am
xD, esta facir man y usa un poco la lógica...

Bueno te explico lo que pasa.

Haces esto:
Código
  1. while ($registro = mysql_fetch_row($cad)){
  2.  
  3. # insertamos un salto de línea en la tabla HTML
  4.  
  5.       echo "<table align='center' border='0' width='100%'>";
  6.   echo "<tr align=center height= 45px><td>";
  7.  
  8.       # establecemos el bucle de lectura del ARRAY
  9.       # con los resultados de cada LINEA
  10.       # y encerramos cada valor en etiquetas <td></td>
  11.       # para que aparezcan en celdas distintas de la tabla
  12.  
  13.       foreach($registro  as $clave){
  14.       echo "<div style='float: left;'>".$clave."&nbsp&nbsp;</td></tr>" ;
  15.  
  16.  
  17. }
  18. }
  19. while ($registro2 = mysql_fetch_row($cad2)){
  20.  
  21. # insertamos un salto de línea en la tabla HTML
  22.  
  23.  
  24.  
  25.       # establecemos el bucle de lectura del ARRAY
  26.       # con los resultados de cada LINEA
  27.       # y encerramos cada valor en etiquetas <td></td>
  28.       # para que aparezcan en celdas distintas de la tabla
  29.  
  30.       foreach($registro2  as $clave2){
  31.   echo "<tr align=center height= 45px><td>";
  32.       echo "<div style='float: left;'>".$clave2."&nbsp&nbsp;</td></tr>" ;
  33.  
  34.  
  35. }
  36. }

Osea, en el primer while muestra la imágenes y hasta que no termine el primer bucle infinito while no pasa al otro... Osea El bucle se repite, se repite, se repite y hasta que llegue al fin y luego se termina el bucle while y luego pasa la otra parte del source...

Hasta que no termine el primer while de mostrar la imágenes no pasa al otro bucle y por lo tanto primero carga la imágenes y luego de terminar de cargar las imágenes pasa al otro bucle que es el que muestra los texto...

Ahora te explico como hacerlo para que salga una imagen y luego el texto...
Código
  1. <?php
  2.  
  3. $connect = mysql_connect('127.0.0.1','root', 'passs');
  4. mysql_select_db('lol',$connect);
  5.  
  6. $sql = "Select id, nombre from lol";//Aqui lo que hago es seleccionar dos campos en vez de uno.
  7. $result = mysql_query($sql,$connect);
  8. while ($row = mysql_fetch_assoc($result)) {
  9. echo $row['id'];//Aqui muestro la id
  10. echo $row['nombre'];//Aqui el nombre
  11. //Luego vuelve si existe mas datos y si no hay mas ps se termina
  12. }
  13.  
  14. ?>

De esta forma sale de esta manera los datos:
Código
  1. 1jesus
  2. 2edwin
  3. 3jose

Pero si lo hago de la manera que lo haces, sale asi:
Código
  1. <?php
  2.  
  3. $connect = mysql_connect('127.0.0.1','root', 'pass');
  4. mysql_select_db('lol',$connect);
  5.  
  6. $sql = "Select id from lol";
  7. $sql2 = "Select nombre from lol";
  8.  
  9. $result = mysql_query($sql,$connect);
  10. $result2 = mysql_query($sql2,$connect);
  11.  
  12. while ($row = mysql_fetch_assoc($result)) {
  13. echo $row['id'];
  14. }
  15. echo '<br>';
  16. while ($row = mysql_fetch_assoc($result2)) {
  17. echo $row['nombre'];
  18. }
  19.  
  20. ?>

Salida
Código:
123
jesusedwinjose

Saludos! ;D


Título: Re: problema codigo paginacion
Publicado por: soru13 en 22 Julio 2010, 03:01 am
~ Yoya ~  probé los dos códigos que me facilitaste y no es exactamente lo que quiero,aver yo tengo ya un código que me muestra el contenido bien y querría ponerle a ese código un paginador,ya que el código de paginador que puse al principio del post no consigo ponerlo bien ya que debería quedar así

y no lo consigo,el codigo de esa pagina es:

Código
  1. <html>
  2. <head>
  3.  
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" charset="utf-8"; />
  5.  
  6. </head>
  7.  
  8.  
  9.  
  10.  
  11.  
  12. <body>
  13. <p><? include ("config.php");
  14. $sql = "select * from videos order by id desc limit 25";
  15. //Instrucción a ejecutarse en la bbdd.
  16.  
  17. $squery = mysql_query($sql);
  18. //Ejecución de la instrucción
  19.  
  20. while($row = mysql_fetch_array($squery)){
  21. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  22. $url = $row['id']
  23. ?>
  24. </p>
  25. <div style="float: left;"><?php echo "<a href='videos/$url' style='border:0'>".$row['img']."</a>&nbsp;";; ?><br /><?php echo "<a href='videos/$url'>".$row['nombre']."</a>" ?></div>
  26. <? } ?>
  27. <div style="clear: both;">
  28. <br>
  29. </body>
  30.  
  31. </html>
  32.  

pero no consigo ponerle el código de paginación,como sería?

el código de paginación que de momento tengo es éste

lista.php
Código
  1. <?
  2. // Datos de conexión a la base
  3. $base="rapmadri_graffitiongirls";
  4. $con=mysql_connect(localhost,rapmadri_general,181302);
  5. mysql_select_db($base,$con);
  6. if (!isset($_GET['pg'])) //para el inicio
  7. $pg = 0;
  8. else $pg=$_GET['pg']; //cuando haces click sobre el siguiente link del paginador
  9. $cantidad=4; // cantidad de resultados por página
  10. $inicial = $pg * $cantidad;
  11.  
  12. $pegar = "SELECT img FROM videos order by id desc LIMIT $inicial,$cantidad";
  13. $pegar2 = "SELECT nombre FROM videos order by id desc LIMIT $inicial,$cantidad";
  14. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  15. $cad2 = mysql_db_query($base,$pegar2) or die (mysql_error());
  16.  
  17. $contar = "SELECT * FROM videos";
  18. $contarok= mysql_db_query($base,$contar);
  19. $total_records = mysql_num_rows($contarok);
  20. $pages = intval($total_records / $cantidad);
  21. $squery = mysql_query($pegar2);
  22.  
  23.  
  24.  
  25.  
  26. while ($registro = mysql_fetch_row($cad)){
  27.  
  28. # insertamos un salto de línea en la tabla HTML
  29.  
  30.       echo "<table align='center' border='0' width='100%'>";
  31.   echo "<tr align=center height= 45px><td>";
  32.  
  33.       # establecemos el bucle de lectura del ARRAY
  34.       # con los resultados de cada LINEA
  35.       # y encerramos cada valor en etiquetas <td></td>
  36.       # para que aparezcan en celdas distintas de la tabla
  37.  
  38.       foreach($registro  as $clave){
  39.       echo "<div style='float: left;'>".$clave."&nbsp&nbsp;</td></tr>" ;
  40.  
  41.  
  42. }
  43. }
  44. while ($registro2 = mysql_fetch_row($cad2)){
  45.  
  46. # insertamos un salto de línea en la tabla HTML
  47.  
  48.  
  49.  
  50.       # establecemos el bucle de lectura del ARRAY
  51.       # con los resultados de cada LINEA
  52.       # y encerramos cada valor en etiquetas <td></td>
  53.       # para que aparezcan en celdas distintas de la tabla
  54.  
  55.       foreach($registro2  as $clave2){
  56.   echo "<tr align=center height= 45px><td>";
  57.       echo "<div style='float: left;'>".$clave2."&nbsp&nbsp;</td></tr>" ;
  58.  
  59.  
  60. }
  61. }
  62. echo "</table></div>";
  63.  
  64. // Cerramos la conexión a la base
  65. $con=mysql_close($con);
  66.  
  67. // Creando los enlaces de paginación
  68. echo "<br><br><br><br><br><br><p class=fonty align='center'>";
  69. if ($pg != 0) {
  70. $url = $pg - 1;
  71. echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
  72. } else {
  73. echo " ";
  74. }
  75. for ($i = 0; $i <= $pages; $i++) {
  76. if ($i == $pg) {
  77. if ($i == "0") {
  78. echo "<b> 1 </b>";
  79. } else {
  80. $i = $i+1;
  81. echo "<b> ".$i." </b>";
  82. }
  83. } else {
  84. if ($i == "0") {
  85. echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
  86. } else {
  87. echo "<a href='$PHP_SELF?pg=".$i."'>";
  88. $i = $i+1;
  89. echo $i."</a>&nbsp;";
  90. }
  91. }
  92. }
  93. if ($pg < $pages) {
  94. $url = $pg + 1;
  95. echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
  96. } else {
  97. echo " ";
  98. }
  99. echo "</p>";
  100. ?>

pero no consigo incrustar en este el código de lista.php

gracias por la ayuda


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 22 Julio 2010, 16:04 pm
Código
  1. $contar = "SELECT * FROM videos";
  2. $contarok= mysql_db_query($base,$contar);
  3. $total_records = mysql_num_rows($contarok);
  4. $pages = intval($total_records / $cantidad);
  5. $squery = mysql_query($pegar2);
No puedes hacer eso, porque estarias seleccionando todos los campos que existen para luego contarlos, osea que irian texto, img, etc... Debes seleccionar mejor el campo id (Si lo tienes) que tiene el numero de registro...

Hacer esto, crea un archivo PHP para solo maquetear el paginador, osea crearas un paginador(Sin imagenes tablas nada de eso) y cuando lo hagas se lo adaptas a tu source...


Título: Re: problema codigo paginacion
Publicado por: soru13 en 22 Julio 2010, 16:38 pm
ok lo intentaré


Título: Re: problema codigo paginacion
Publicado por: soru13 en 22 Julio 2010, 16:55 pm
aver,ya conseguí juntar los dos códigos y me quedó esto:

pero no funciona bien el paginador,ya que si le das a siguiente no cambia

este es el code

Código
  1. <?
  2. // Datos de conexión a la base
  3. $base="bd";
  4. $con=mysql_connect(localhost,user,pass);
  5. mysql_select_db($base,$con);
  6. if (!isset($_GET['pg'])) //para el inicio
  7. $pg = 0;
  8. else $pg=$_GET['pg']; //cuando haces click sobre el siguiente link del paginador
  9. $cantidad=4; // cantidad de resultados por página
  10. $inicial = $pg * $cantidad;
  11.  
  12. $pegar = "SELECT * FROM videos order by id desc LIMIT $inicial,$cantidad";
  13. $pegar2 = "SELECT * FROM videos order by id desc LIMIT $inicial,$cantidad";
  14. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  15. $cad2 = mysql_db_query($base,$pegar2) or die (mysql_error());
  16.  
  17. $contar = "SELECT * FROM videos";
  18. $contarok= mysql_db_query($base,$contar);
  19. $total_records = mysql_num_rows($contarok);
  20. $pages = intval($total_records / $cantidad);
  21. $squery = mysql_query($pegar2);
  22. include ("config.php");
  23. $sql = "select * from videos order by id desc limit 25";
  24. //Instrucción a ejecutarse en la bbdd.
  25.  
  26. $squery = mysql_query($sql);
  27. //Ejecución de la instrucción
  28.  
  29. while($row = mysql_fetch_array($squery)){
  30. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  31. $url = $row['id']
  32. ?>
  33. </p>
  34. <div style="float: left;">
  35. <?php
  36. echo "<table width='80%' border='0'>";
  37. echo "<a href='videos/$url' style='border:0'>".$row['img']."</a>&nbsp;";
  38. echo "<br />";
  39. echo "<tr><td align='center'><a href='videos/$url'>".$row['nombre']."</a></td></tr>" ;
  40. echo "<tr><td align='center'>".$row['dur']."</td></tr>";
  41. echo "</table>";
  42. ?></div>
  43. <?
  44. }
  45. // Cerramos la conexión a la base
  46. $con=mysql_close($con);
  47.  
  48. // Creando los enlaces de paginación
  49. echo "<br><br><br><br><br><br><br><br><br><br><br><br><p class=fonty align='center'>";
  50. if ($pg != 0) {
  51. $url = $pg - 1;
  52. echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
  53. } else {
  54. echo " ";
  55. }
  56. for ($i = 0; $i <= $pages; $i++) {
  57. if ($i == $pg) {
  58. if ($i == "0") {
  59. echo "<b> 1 </b>";
  60. } else {
  61. $i = $i+1;
  62. echo "<b> ".$i." </b>";
  63. }
  64. } else {
  65. if ($i == "0") {
  66. echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
  67. } else {
  68. echo "<a href='$PHP_SELF?pg=".$i."'>";
  69. $i = $i+1;
  70. echo $i."</a>&nbsp;";
  71. }
  72. }
  73. }
  74. if ($pg < $pages) {
  75. $url = $pg + 1;
  76. echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
  77. } else {
  78. echo " ";
  79. }
  80. echo "</p>";
  81. ?>
  82.  
  83. <div style="clear: both;">

porque no funciona? gracias


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 22 Julio 2010, 20:35 pm
Normal, porque creas el paginador pero no adapta la consulta sql con el paginador...

Ej:
Código
  1. $cantidad=4; // cantidad de resultados por página
Lo maximo pero si te fijas tienes 6 resultados, osea no usas el paginador junto a la consulta

Maquetearlo de nuevo pero crea un campo que contenga 4 registro y muestre 2 máximo por pagina, cuando lo logres ya sabrás como combinar el paginador junto a la consulta...


Título: Re: problema codigo paginacion
Publicado por: soru13 en 23 Julio 2010, 00:21 am
no consigo encontrar el fallooooo :huh:


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 23 Julio 2010, 01:44 am
no hay fallo, lo que pasa esque debes combinar el paginador con la consulta


Título: Re: problema codigo paginacion
Publicado por: soru13 en 23 Julio 2010, 02:09 am
ese es el problema que he probado ya de diferentes formas combinarlo y ninguna es la correcta...  :-\


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 23 Julio 2010, 02:10 am
Busca un ejemplo y hazlo maqueteado porque si lo haces en el mismo source te confundiras...

Citar
Maquetearlo de nuevo pero crea un campo que contenga 4 registro y muestre 2 máximo por pagina, cuando lo logres ya sabrás como combinar el paginador junto a la consulta...


Título: Re: problema codigo paginacion
Publicado por: soru13 en 23 Julio 2010, 03:34 am
a que te refieres a maqueteado? en diferentes archivos php cada código y luego los incluyo todos en 1 o como? gracias

edit: e probado a hacer cada código por separado en 1 archivo cada uno y tampoco funciona,alguien me puede ayudar por favor?


Título: Re: problema codigo paginacion
Publicado por: soru13 en 23 Julio 2010, 19:25 pm
perdón por el flood pero nadie sabe arreglarlo? gracias


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 23 Julio 2010, 21:16 pm
Prueba ahora...
Código
  1. <?
  2. // Datos de conexión a la base
  3. $base="bd";
  4. $con=mysql_connect(localhost,user,pass);
  5. mysql_select_db($base,$con);
  6.  
  7.  
  8. if (!isset($_GET['pg'])) //para el inicio
  9. $pg = 0;
  10. else $pg=$_GET['pg']; //cuando haces click sobre el siguiente link del paginador
  11. $cantidad=4; // cantidad de resultados por página
  12. $inicial = $pg * $cantidad;
  13.  
  14. $pegar = "SELECT * FROM videos order by id desc LIMIT $inicial,$cantidad";
  15. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  16.  
  17.  
  18. $contar = "SELECT * FROM video order by id";
  19. $contarok= mysql_db_query($base,$contar);
  20. $total_records = mysql_num_rows($contarok);
  21. $pages = intval($total_records / $cantidad);
  22.  
  23.  
  24.  
  25. while($row = mysql_fetch_array($cad)){
  26. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  27. $url = $row['id']
  28. ?>
  29. </p>
  30. <div style="float: left;">
  31. <?php
  32. echo "<table width='80%' border='0'>";
  33. echo "<a href='videos/$url' style='border:0'>".$row['img']."</a>&nbsp;";
  34. echo "<br />";
  35. echo "<tr><td align='center'><a href='videos/$url'>".$row['nombre']."</a></td></tr>" ;
  36. echo "<tr><td align='center'>".$row['dur']."</td></tr>";
  37. echo "</table>";
  38. ?></div>
  39. <?
  40. }
  41. // Cerramos la conexión a la base
  42. $con=mysql_close($con);
  43.  
  44. // Creando los enlaces de paginación
  45. echo "<br><br><br><br><br><br><br><br><br><br><br><br><p class=fonty align='center'>";
  46. if ($pg != 0) {
  47. $url = $pg - 1;
  48. echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
  49. } else {
  50. echo " ";
  51. }
  52. for ($i = 0; $i <= $pages; $i++) {
  53. if ($i == $pg) {
  54. if ($i == "0") {
  55. echo "<b> 1 </b>";
  56. } else {
  57. $i = $i+1;
  58. echo "<b> ".$i." </b>";
  59. }
  60. } else {
  61. if ($i == "0") {
  62. echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
  63. } else {
  64. echo "<a href='$PHP_SELF?pg=".$i."'>";
  65. $i = $i+1;
  66. echo $i."</a>&nbsp;";
  67. }
  68. }
  69. }
  70. if ($pg < $pages) {
  71. $url = $pg + 1;
  72. echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
  73. } else {
  74. echo " ";
  75. }
  76. echo "</p>";
  77. ?>
  78.  
  79. <div style="clear: both;">


Título: Re: problema codigo paginacion
Publicado por: soru13 en 23 Julio 2010, 21:50 pm
me da un error,ya lista los resultados máximos pero no funciona bien el paginador:

Código
  1. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/rapmadri/public_html/tupixxx/lista2.php on line 28

la línea 28 es esta:

Código
  1. $total_records = mysql_num_rows($contarok);

gracias por la ayuda yoya


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 25 Julio 2010, 01:09 am
Reemplaza
Código
  1. $contarok= mysql_db_query($base,$contar);

Por

Código
  1. $contarok= mysql_query($contar);


Título: Re: problema codigo paginacion
Publicado por: soru13 en 25 Julio 2010, 06:46 am
sige dando error,ahora en la línea siguiente

Código
  1. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/rapmadri/public_html/tupixxx/lista2.php on line 28

linea 28
Código
  1. $total_records = mysql_num_rows($contarok);


Título: Re: problema codigo paginacion
Publicado por: Shell Root en 25 Julio 2010, 08:25 am
Oye, pero aquí no podemos hacer tú trabajo, por lo menos sabes que es lo que estas haciendo o si interpretas el código?. Sería mejor que iniciar haciendo algo con tú propio código y avanzas poco a poco.


Título: Re: problema codigo paginacion
Publicado por: soru13 en 25 Julio 2010, 16:56 pm
es lo que estuve haciendo,estuve haciendo el código,no desde 0 pero si metiendole cosas,lo que pasa que ya me supera y no se por que no funciona,solo busco la pequeña solución al paginador que ya casi está.


Título: Re: problema codigo paginacion
Publicado por: ~ Yoya ~ en 25 Julio 2010, 18:34 pm
En realidad no lo haz resolvido porque haz usado otro source y si no sabes como funcionas ps siempre tendras problemas...

http://www.webexperto.com/articulos/art/74/paginacion-de-resultados-con-php/