Foros del Web » Programando para Internet » PHP »

Que problemas me podria traer esto ??

Estas en el tema de Que problemas me podria traer esto ?? en el foro de PHP en Foros del Web. Hola amigos tengo un listado de noticias que bucas de acuerdo a un SELECT bien como ahora son muchas noticias quiero implementar un paginatos es ...
  #1 (permalink)  
Antiguo 19/10/2009, 15:56
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Que problemas me podria traer esto ??

Hola amigos tengo un listado de noticias que bucas de acuerdo a un SELECT bien como ahora son muchas noticias quiero implementar un paginatos es el PHPPaging el problema que tenia era que estaba configurado para mostrar de 6 en 6 pero cuando ponia alguna categoria a buscar y el resultado eran dos me mostrata los dos resultados mas 4 filas mas vacias y eso no estaba bien entonces analice un poco y esto lo puse antes asi
Código php:
Ver original
  1. $row = fetch_array ($consulta)
$consulta el en si la consulta a el buscador
Código php:
Ver original
  1. $instruccion = "select * from noticia";
  2.       $actualizar = $_POST['actualizar'];
  3.       $categoria = $_POST['categoria'];
  4.       if (isset($actualizar) && $categoria != "Todas")
  5.       $instruccion = $instruccion . " where categoria='$categoria'";
  6.  
  7.       $instruccion = $instruccion . " order by fecha_publicacion desc";
  8.       $consulta = mysql_query ($instruccion, $link)
  9.          or die (mysql_error());
  10.  
  11.    // Mostrar resultados de la consulta
  12.       $nfilas = mysql_num_rows ($consulta);

Bien la cosa el esto cambia esto $row = fetch_array ($consulta) por ahora esto
Código php:
Ver original
  1. if ( mysql_fetch_array ($consulta)){

Mi duda pàsa por lo siguiente esta bien hacer un if conjugado con el mysql_fetch_array ???

Este es mi codigo completo
Código php:
Ver original
  1. <center>
  2.  <FORM NAME="buscar" action="index.php?mod=noticias&pag=ver_noticia" METHOD="POST">
  3. <P><strong>Mostrar noticias de la categoría:</strong>
  4.      <SELECT name="categoria">
  5.          <OPTION VALUE="Todas"> Todas </OPTION>
  6.          <OPTION VALUE="General">General</OPTION>
  7.          <OPTION VALUE="sub7">Sub 7</OPTION>
  8.          <OPTION VALUE="sub9">Sub 9</OPTION>
  9.          <OPTION VALUE="sub11">Sub 11</OPTION>
  10.          <OPTION VALUE="sub13">Sub 13</OPTION>
  11.          <OPTION VALUE="sub15">Sub 15</OPTION>
  12.          <OPTION VALUE="sub17">Sub 17</OPTION>
  13.          <OPTION VALUE="sub19">Sub 19</OPTION>
  14.          <OPTION VALUE="primera">Primera "A"</OPTION>
  15.          <OPTION VALUE="primerab">Primera "B"</OPTION>
  16.          <OPTION VALUE="primeraAS">Primeras Ascenso</OPTION>
  17.          <OPTION VALUE="segundaAS">Segundas Ascenso</OPTION>
  18.          <OPTION VALUE="femenino">Femenino </OPTION>
  19.          <OPTION VALUE="mutual">Mutual</OPTION>
  20. </SELECT>
  21. <INPUT TYPE="submit" NAME="actualizar" VALUE="Actualizar" class="btn"></P>
  22. </FORM>
  23. </center>
  24.  <?php
  25.       $instruccion = "select * from noticia";
  26.       $actualizar = $_POST['actualizar'];
  27.       $categoria = $_POST['categoria'];
  28.       if (isset($actualizar) && $categoria != "Todas")
  29.       $instruccion = $instruccion . " where categoria='$categoria'";
  30.  
  31.       $instruccion = $instruccion . " order by fecha_publicacion desc";
  32.       $consulta = mysql_query ($instruccion, $link)
  33.          or die (mysql_error());
  34.  
  35.    // Mostrar resultados de la consulta
  36.       $nfilas = mysql_num_rows ($consulta);
  37.       if ($nfilas > 0)
  38.       {
  39.       ?>    
  40.     <center>     
  41.      <table align="center"  border="0" id="lista" />
  42.      <tr>
  43.      <th align="center" colspan="8" bgcolor="#000000"> <span class="Estilo1">Lista de Noticias Deportivos </span></th>
  44.        </tr>
  45.         <tr>
  46.                <td id="carlos">ID</td>
  47.                <td id="carlos">Titulo</td>
  48.                <td id="carlos">Fecha</td>
  49.                <td id="carlos">Estado</td>
  50.                <td id="carlos" align=center colspan=3>Opciones</td>
  51.                </tr>
  52.         <?php      
  53.               include('PHPPaging.lib.php');
  54.               $paging = new PHPPaging;
  55.               $paging->agregarConsulta("SELECT * FROM noticia order by id DESC");
  56.               $paging->porPagina(6);
  57.               // Estableciendo las páginas adyacentes
  58.               $paging->paginasAntes(4, 10, 30);
  59.               $paging->paginasDespues(4, 10, 30);  
  60.               // Estableciando el estilo de la clase
  61.               $paging->linkClase('nav');
  62.               // Estableciendo el separador general
  63.               $paging->linkSeparador(false); //Significa que no habrá separacion  
  64.               // Separador especial
  65.               $paging->linkSeparadorEspecial('...');
  66.               // Personalizando el título de los links
  67.               $paging->linkTitulo('Página %1$s: Ver registros del %2$s al %3$s (Total: %4$s)');
  68.               //$paging->mostrarPrimera("|<", true);
  69.              // $paging->mostrarUltima(">|", true);
  70.               // Quitando el link hacia las páginas anterior y siguiente
  71.               $paging->mostrarAnterior(true);
  72.               $paging->mostrarSiguiente(true);
  73.               // Cambiando el texto de la referencia a la página actual
  74.               $paging->mostrarActual("<span class=\"navthis\">{n}</span>");
  75.               $paging->ejecutar();
  76.               while($datos = $paging->fetchResultado()) {        
  77.                if ( mysql_fetch_array ($consulta)){
  78.              ?>
  79.               <tr>
  80.                        <td align=center><?php echo $datos['id']; ?></td>
  81.                        <td style="text-align:left"><?php echo $datos["titulo"]; ?></td>
  82.                        <td><?php echo $datos["fecha_publicacion"]; ?></td>
  83.                        <td><?php if($datos['estado'] == 1) echo "Si"; else echo "No"; ?></td>
  84.                        <td> <a href="index.php?mod=noticias&pag=editar&id=<?php echo $datos['id']; ?> "> <img src="modulos/imagenes/actualizar.jpeg" alt="actualizar"/> </a></td>
  85.                        <td> <a href="index.php?mod=noticias&pag=eliminar&id=<?php echo $datos['id']; ?> "><img src="modulos/imagenes/eliminar.jpeg" alt="eliminar"/></a></td>
  86.                        <td> <a href="index.php?mod=noticias&pag=leer_noticia&id=<?php echo $datos['id']; ?> ">Leer mas..</a></td>
  87.                
  88.                        </tr>
  89.                      
  90.          <?php             
  91.          }}
  92.          
  93.          ?>
  94.           <tr> <td colspan="8" style="text-align:left" bgcolor="#EEEEEE">Nro de Resultados: <?php echo count($datos['id']); ?></td></tr>
  95.           <td colspan="8"> <a href="index.php?mod=noticias&pag=insertar">Nueva Noticia</a></td>
  96.          </table>
  97.          <?php
  98.     // Imprimimos algo de información
  99.     echo "<b>Página ".$paging->numEstaPagina()." de ".$paging->numTotalPaginas()."<br />";
  100.     echo "</b>Mostrando ".$paging->numRegistrosMostrados()." resultados, del ".$paging->numPrimerRegistro()." al ".$paging->numUltimoRegistro();
  101.     echo " de un total de ".$paging->numTotalRegistros()."<br /><br />";
  102.  
  103.     // Imprimimos la barra de navegación
  104.     echo "<div class='navigation'>".$paging->fetchNavegacion()."</div>";
  105.   ?>
  106.          <?php
  107.       }
  108.       else
  109.          echo (" <center> No existen noticias disponibles </center>");
  110.      ?>
  111.  
  112.  
  113.  </center>
  #2 (permalink)  
Antiguo 19/10/2009, 21:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Que problemas me podria traer esto ??

definitivamente no estas haciendo correcto uso del paginador que empleas...

estas combinando manualmente las funciones de MySQL ... cuando PHPPaging ya emplea dichas funciones!!


te sugiero vuelvas al sitio web del paginador y leas con detenimiento acerca de como usar consultas SQL...


suerte...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 00:30.