Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/05/2011, 15:00
Tooj
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: carrousel de posts con paginador php

estuve buscando el error, ya he compuesto varios, a continuación pongo el codigo.

por cierto, que el original no es mio, solo lo estoy modificando. tampoco el original funcionaba muy bien, asi que primero he arreglado el original y luego he tratado de adaptarlo a mis necesidades.

Código PHP:

    <?php 

if(isset($_GET['page'])){
    
$page$_GET['page'];
}else{

    
$page=1;
}

$colno 1
$nowlh '\''.$now.'\'';
$limits ' LIMIT '.$ndex_1;

$datos "SELECT $distinct * FROM $posts WHERE post_date <= $nowlh  AND post_karma = $colno ORDER BY post_$orderby $limits ";

$postx=mysql_query($datos);
$arts1;  
$lastpageceil($postx $arts);

$page=(int)$page;
if(
$page $lastpage){
    
$page$lastpage;
}
if(
$page 1){
    
$page=1;
}


$limite"SELECT $distinct * FROM $posts WHERE post_date <= $nowlh  AND post_karma = $colno ORDER BY post_$orderby $limits LIMIT  ($page -1) * $arts , $arts";


$consulta $limite;
$resultado=mysql_query($consulta);

if(!
$resultado){
       
 die(
'Invalid query: ' mysql_error());
}else{
    
      while(
$row mysql_fetch_array($resultado)){  
    
      echo 
'<p align="right">';
                        
the_time("l j M Y");
                        echo 
'</p> ';
                        
                        
                        
title();
                        
                        echo 
'<br />';
                        
autor();
                        echo 
'<br />';
                        
resumen();
                        echo 
'<br /><br />';
                        
                        
    
        } 
      
      
      
?>
       <?php 

if($num_rows != 0){
   
$nextpage$page +1;
   
$prevpage$page -1;
   
echo 
'<ul id="pagination-flickr">';

 if (
$page == 1) {
  
      echo 
'<li class="previous-off">&laquo; Previous</li>';
      echo 
'<li class="active">1</li>';
      
    for(
$i$page+1$i<= $lastpage $i++){
      echo 
'<li><a href="index.php?page=';
      echo 
$i;
      echo 
'">';
      echo 
$i;
      echo 
'</a></li>';
    }
       
    if(
$lastpage >$page ){      
      echo 
'<li class="next"><a href="index.php?page=';
      echo 
$nextpage;
      echo 
'" >Next &raquo;</a></li>';
      
    }else{
      echo 
'<li class="next-off">Next &raquo;</li>';
   }
 } else {
         
      echo 
'<li class="previous"><a href="index.php?page=';
       echo 
$prevpage;
       echo 
'"  >&laquo; Previous</a></li>';
       
      for(
$i1$i<= $lastpage $i++){
                      
            if(
$page == $i){
        echo 
'<li class="active">';
        echo 
$i;
        echo 
'</li>';
         
            }else{
        echo 
'<li><a href="index.php?page=';
        echo 
$i;
        echo 
'" >';
        echo 
$i;
        echo 
'</a></li>';
         
            }
      }
          
      if(
$lastpage >$page ){   
      echo 
'<li class="next"><a href="index.php?page=';
       echo 
$nextpage;
       echo 
'">Next &raquo;</a></li>';
      }else{
    echo 
'<li class="next-off">Next &raquo;</li>';
      }
 }
    echo 
'<ul>';
}
}
?>

el problema que tengo ahora está en la consulta a la base de datos. de hecho no se si se puede simplificar y en lugar de dos consultas solo hacer una.

bueno, la cuestion está asi.

en el script original la primera consulta era general a la tabla.


Código MySQL:
Ver original
  1. $datos="SELECT * FROM ".$GLOBALS['DB_TBL'];

pero yo requiero hacer una consulta especifica, en relación a una columna, y otros datos, esta consulta funciona. no hay problema con ella.


Código MySQL:
Ver original
  1. $datos = "SELECT $distinct * FROM $posts WHERE post_date <= $nowlh  AND post_karma = $colno ORDER BY post_$orderby $limits ";


sin embargo, la segunda consulta en el script original era específica,


Código MySQL:
Ver original
  1. $limite= 'SELECT * FROM '.$GLOBALS['DB_TBL'].' LIMIT '. ($page -1) * $arts . ',' .$arts;


ahora, lo que no se como hacer, es, la segunda consulta. la tengo así pero no funciona pues dice que no estoy aplicando bien LIMIT

Código MySQL:
Ver original
  1. $limite= "SELECT $distinct * FROM $tableposts WHERE post_date <= $nowlh  AND post_karma = $colno ORDER BY post_$orderby $limits LIMIT  ($page -1) * $arts , $arts";


o, sea que casi funciona mi script.

alguien puede ayudarme


gracias