Foros del Web » Programando para Internet » PHP »

Ayuda con paginador en heredoc

Estas en el tema de Ayuda con paginador en heredoc en el foro de PHP en Foros del Web. Hola tengo una duda, espero me puedan ayudar: Necesito hacer un paginador y estuve investigando como hacerlo, al parecer ya casi queda, mi problema es ...
  #1 (permalink)  
Antiguo 15/12/2009, 12:49
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Ayuda con paginador en heredoc

Hola tengo una duda, espero me puedan ayudar: Necesito hacer un paginador y estuve investigando como hacerlo, al parecer ya casi queda, mi problema es al momento de ir a la siguiente pagina ya que en el codigo que encontre la intrucciones es
Código PHP:
if($pagina>1)
    {
        echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
        echo 
"<font face='verdana' size='-2'>anterior</font>";
        echo 
"</a>&nbsp;";
    } 
Como yo utilizo heredoc, estuve probando de varias formas pero no funciona, creo ue el problema es la sintaxis de como direccionar a la siguiente pagina ya que la que tengo la parte donde realiza todo esteproceso comienza a partir de
Código PHP:
if ($_GET['accion']=="consultastatus"){ 
lo he puesto
Código PHP:
if($pagina>1)
    {
        
        
$anter="<a class='p' href='".$pag."?accion=consultastatus?pagina=".($pagina-1)."&nuevafe1=".$nuevafe1."&nuevafe2=".$nuevafe2."&nuevafev1=".$nuevafev1."&nuevafev2=".$nuevafev2."'><font face='verdana' size='-2'>anterior</font></a>&nbsp;";
    } 
pero no funciona necestito, que me lleve a la pagina, de ahi tome la accion y ademas la pagina que correspode, espero me entiendan.

Alguna idea?
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 15/12/2009, 15:27
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ayuda con paginador en heredoc

Hola, tu tienes esto

?accion=consultastatus?pagina ...

cambialo por esto

?accion=consultastatus&pagina ...
a ver si te mejora
saludos
  #3 (permalink)  
Antiguo 17/12/2009, 11:49
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Pregunta Respuesta: Ayuda con paginador en heredoc

Quedo de esta forma:

Código PHP:
$anter="<a href='".$pag."?accion=consultastatus&pagina=".($pagina-1)."&nuevafe1=".$nuevafe1."&nuevafe2=".$nuevafe2."&nuevafev1=".$nuevafev1."&nuevafev2=".$nuevafev2."'><font face='verdana' size='-2'>ANTERIOR</font></a>&nbsp;&nbsp;"
Ya funciona pero ahora el problema es que este sistema lo tengo en i maquina con xp para efectos de programacion y algunas pruebas y el ya definitivo lo cargo a un server que tiene cent OS, ahora mi conflicto es que en mi maquina ya funciona pero si olo cargo al server me manda un error

Código PHP:
You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 
Ya revise la base y esta igual que la que tengo en mi pc, tendria que ver algo de la configuracion de linux?
__________________
:cool: VELMA:si:
  #4 (permalink)  
Antiguo 17/12/2009, 13:16
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Ayuda con paginador en heredoc

¿Utilizas Apache, MySQL y PHP?

Asegúrate de tener instaladas las mismas versiones y configuraciones que en tu equpo.
  #5 (permalink)  
Antiguo 19/12/2009, 23:55
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ayuda con paginador en heredoc

Hola
Tu problea esta a la hora de armar alguna sentencia sql
así que revisa eso, y pues yo tengo servidor en xp, otro en linux
y el hosting con linux y en todos funciona bien, así que
tal vez tu problema, al parecer, es que estas haciendo mal
uso de comillas ya sean dobles o sencillas, revisa con cuidado
las sentencias sql que armas
saludos
  #6 (permalink)  
Antiguo 21/12/2009, 13:56
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Exclamación Respuesta: Ayuda con paginador en heredoc

Hola, gracias por la ayuda, he revisado las versione y tengo lo siguiente,
en Windows:

mysql 5.0.45
phpmyadmin 2.5.9
php 5.2.3
apache 2.2.4


en Linux


mysql 5.0.77
phpmyadmin 2.11.9.6
php 5.1.6
apache 2.2.4


Cua seria la diferencia en ejecutar una consulta , dependindo de la version que tenga instalada?

respecto al comentario del error de comillas ya lo revise y cambie algunas cosas pero bo funciona, la primer parte ya la ejecutaba antes lo que le agregue fue la parte de la paginacion, haber si pueden ayudarme
Código PHP:
$sql="SELECT t1.ID_VTA AS ID_VTA, t1.id_cl AS id_cl,CONCAT(t2.nombre,' ',t2.paterno,' ',t2.materno) AS cliente,t2.no_telmex AS no_telmex,t2.tipo AS tipo,t2.razon AS razon, t2.rfc AS rfc, t2.calle AS calle, t2.colonia AS colonia, t2.cp AS cp, t2.delegacion AS delegacion, t2.ciudad AS ciudad, t2.tel_c1 AS tel_c1, t2.tel_c2 AS tel_c2,CONCAT(t4.nombre,' ',t4.paterno,' ',t4.materno) AS vendedor, t5.nombre AS tienda, DATE_FORMAT(t1.fe_vta, '%d/%m/%Y') As fechaV,DATE_FORMAT(t1.fe_ing, '%d/%m/%Y') As fechaI, t6.nombre AS servicio, t1.terminal AS terminal,t1.os_tel AS os_tel, t1.edo_os AS edo_os, t1.os_inf AS os_inf, DATE_FORMAT(t1.fe_cos, '%d/%m/%Y') AS fechaC, t1.serie AS serie, t1.edo_oser AS edo_oser, t1.capturado AS capturado, t3.nombre AS validador, CONCAT(t7.num_st,' ',t7.nom_st) AS status,t1.status AS id_status,t8.nombre AS captu_amad, DATE_FORMAT(t1.fein_amad, '%d/%m/%Y') As fechaAM, t1.eje_teck AS eje_teck, t1.documentada AS documentada, t1.hora_v AS hora_v,  t1.nom_grab AS nom_grab FROM $sql_tabla_vta AS t1,$sql_tabla_cl AS t2, $sql_tabla_m AS t3,$sql_tabla_v AS t4, $sql_tabla_t AS t5, $sql_tabla_pro AS t6, $sql_tabla_st AS t7, $sql_tabla_m AS t8 WHERE t1.id_cl=t2.ID_CL  AND t1.validado=t3.ID_EJ AND t1.capt_amad=t8.ID_EJ AND t1.id_ven=t4.ID_VEN AND t1.id_tienda=t5.ID_TIENDA AND t1.id_pro=t6.ID_PRO AND t1.status=t7.ID_ST AND ";

function 
cambiaf_a_mysql1($nuevafe1){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$nuevafe1$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}

function 
cambiaf_a_mysql2($nuevafe2){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})",$nuevafe2$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}

function 
cambiaf_a_mysql3($nuevafev1){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$nuevafev1$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}
 
function 
cambiaf_a_mysql4($nuevafev2){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})",$nuevafev2$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}
if(isset(
$nuevafe1) && $nuevafe1!="" and isset($nuevafe2) && $nuevafe2!=""){
$sql.="t1.fe_ing BETWEEN '".cambiaf_a_mysql1($nuevafe1)."' AND '".cambiaf_a_mysql2($nuevafe2)."'";
}

elseif(isset(
$nuevafev1) && $nuevafev1!="" and isset($nuevafev2) && $nuevafev2!=""){
$sql.="t1.fe_vta BETWEEN '".cambiaf_a_mysql3($nuevafev1)."' AND '".cambiaf_a_mysql4($nuevafev2)."'";
}

$res=mysql_query($sql);
$numeroRegistros=mysql_num_rows($res);
$resultaconsulta=mysql_query($sql) or die(mysql_error().'<br />'.$sql);  
$resultaconsulta=mysql_query($sql);

        
$tamPag=10;
if(!isset(
$pagina))
        {
               
$pagina=1;
               
$inicio=1;
               
$final=$tamPag;
        }
        
//calculo del limite inferior
        
$limitInf=($pagina-1)*$tamPag;
    
//calculo del numero de paginas
        
$numPags=ceil($numeroRegistros/$tamPag);
        if(!isset(
$pagina))
        {
               
$pagina=1;
               
$inicio=1;
               
$final=$tamPag;
        }else{
            
$seccionActual=intval(($pagina-1)/$tamPag);
            
$inicio=($seccionActual*$tamPag)+1;

            if(
$pagina<$numPags)
            {
               
$final=$inicio+$tamPag-1;
            }else{
                
$final=$numPags;
            }
                
                if (
$final>$numPags){
                     
$final=$numPags;
            }
        }

$sql="SELECT t1.ID_VTA AS ID_VTA, t1.id_cl AS id_cl,CONCAT(t2.nombre,' ',t2.paterno,' ',t2.materno) AS cliente,t2.no_telmex AS no_telmex,t2.tipo AS tipo,t2.razon AS razon, t2.rfc AS rfc, t2.calle AS calle, t2.colonia AS colonia, t2.cp AS cp, t2.delegacion AS delegacion, t2.ciudad AS ciudad, t2.tel_c1 AS tel_c1, t2.tel_c2 AS tel_c2,CONCAT(t4.nombre,' ',t4.paterno,' ',t4.materno) AS vendedor, t5.nombre AS tienda, DATE_FORMAT(t1.fe_vta, '%d/%m/%Y') As fechaV,DATE_FORMAT(t1.fe_ing, '%d/%m/%Y') As fechaI, t6.nombre AS servicio, t1.terminal AS terminal,t1.os_tel AS os_tel, t1.edo_os AS edo_os, t1.os_inf AS os_inf, DATE_FORMAT(t1.fe_cos, '%d/%m/%Y') AS fechaC, t1.serie AS serie, t1.edo_oser AS edo_oser, t1.capturado AS capturado, t3.nombre AS validador, CONCAT(t7.num_st,' ',t7.nom_st) AS status,t1.status AS id_status,t8.nombre AS captu_amad, DATE_FORMAT(t1.fein_amad, '%d/%m/%Y') As fechaAM, t1.eje_teck AS eje_teck, t1.documentada AS documentada, t1.hora_v AS hora_v,  t1.nom_grab AS nom_grab FROM $sql_tabla_vta AS t1,$sql_tabla_cl AS t2, $sql_tabla_m AS t3,$sql_tabla_v AS t4, $sql_tabla_t AS t5, $sql_tabla_pro AS t6, $sql_tabla_st AS t7, $sql_tabla_m AS t8 WHERE t1.id_cl=t2.ID_CL  AND t1.validado=t3.ID_EJ AND t1.capt_amad=t8.ID_EJ AND t1.id_ven=t4.ID_VEN AND t1.id_tienda=t5.ID_TIENDA AND t1.id_pro=t6.ID_PRO AND t1.status=t7.ID_ST AND ";

function 
cambiaf_a_mysql11($nuevafe1){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$nuevafe1$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}

function 
cambiaf_a_mysql22($nuevafe2){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})",$nuevafe2$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}

function 
cambiaf_a_mysql33($nuevafev1){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$nuevafev1$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}

function 
cambiaf_a_mysql44($nuevafev2){ 
    
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})",$nuevafev2$mifecha); 
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
    return 
$lafecha
}
if(isset(
$nuevafe1) && $nuevafe1!="" and isset($nuevafe2) && $nuevafe2!=""){
$sql.="t1.fe_ing BETWEEN '".cambiaf_a_mysql11($nuevafe1)."' AND '".cambiaf_a_mysql22($nuevafe2)."' ORDER BY t1.ID_VTA,t1.ID_VTA ASC LIMIT ".$limitInf.",".$tamPag."";
}

elseif(isset(
$nuevafev1) && $nuevafev1!="" and isset($nuevafev2) && $nuevafev2!=""){
$sql.="t1.fe_vta BETWEEN '".cambiaf_a_mysql33($nuevafev1)."' AND '".cambiaf_a_mysql44($nuevafev2)."' ORDER BY t1.ID_VTA,t1.ID_VTA ASC LIMIT  ".$limitInf.",".$tamPag."";
}

$resultaconsulta=mysql_query($sql) or die(mysql_error().'<br />'.$sql);  
$resultaconsulta=mysql_query($sql);
        
if(
$pagina>1)
    {
        
        
$anter="<a href='".$pag."?accion=consultastatus&pagina=".($pagina-1)."&nuevafe1=".$nuevafe1."&nuevafe2=".$nuevafe2."&nuevafev1=".$nuevafev1."&nuevafev2=".$nuevafev2."'><font face='verdana' size='-2'>ANTERIOR</font></a>&nbsp;&nbsp;";
    }
    for(
$i=$inicio;$i<=$final;$i++)
    {
        if(
$i==$pagina)
        {
        
$cant"<font face='verdana' size='-2'><b>".$i."</b>&nbsp;</font>";
        }else{
        
$cant"<a href='".$pag."?accion=consultastatus&pagina=".$i."&nuevafe1=".$nuevafe1."&nuevafe2=".$nuevafe2."&nuevafev1=".$nuevafev1."&nuevafev2=".$nuevafev2."'><font face='verdana' size='-2'>".$i."</font></a>&nbsp;&nbsp;";
        }
    }
    if(
$pagina<$numPags)
    {
        
$sig="<a href='".$pag."?accion=consultastatus&pagina=".($pagina+1)."&nuevafe1=".$nuevafe1."&nuevafe2=".$nuevafe2."&nuevafev1=".$nuevafev1."&nuevafev2=".$nuevafev2."'><font face='verdana' size='-2'>SIGUIENTE</font></a>";
    }
    
//////////fin de la paginacion 
este codigo es el que funciona en windows, el error que marca en linux es:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SELECT t1.ID_VTA AS ID_VTA, t1.id_cl AS id_cl,CONCAT(t2.nombre,' ',t2.paterno,' ',t2.materno) AS cliente,t2.no_telmex AS no_telmex,t2.tipo AS tipo,t2.razon AS razon, t2.rfc AS rfc, t2.calle AS calle, t2.colonia AS colonia, t2.cp AS cp, t2.delegacion AS delegacion, t2.ciudad AS ciudad, t2.tel_c1 AS tel_c1, t2.tel_c2 AS tel_c2,CONCAT(t4.nombre,' ',t4.paterno,' ',t4.materno) AS vendedor, t5.nombre AS tienda, DATE_FORMAT(t1.fe_vta, '%d/%m/%Y') As fechaV,DATE_FORMAT(t1.fe_ing, '%d/%m/%Y') As fechaI, t6.nombre AS servicio, t1.terminal AS terminal,t1.os_tel AS os_tel, t1.edo_os AS edo_os, t1.os_inf AS os_inf, DATE_FORMAT(t1.fe_cos, '%d/%m/%Y') AS fechaC, t1.serie AS serie, t1.edo_oser AS edo_oser, t1.capturado AS capturado, t3.nombre AS validador, CONCAT(t7.num_st,' ',t7.nom_st) AS status,t1.status AS id_status,t8.nombre AS captu_amad, DATE_FORMAT(t1.fein_amad, '%d/%m/%Y') As fechaAM, t1.eje_teck AS eje_teck, t1.documentada AS documentada, t1.hora_v AS hora_v, t1.nom_grab AS nom_grab FROM ventas AS t1,clientes AS t2, ejecutivos AS t3,vendedores AS t4, tiendas AS t5, productos AS t6, status AS t7, ejecutivos AS t8 WHERE t1.id_cl=t2.ID_CL AND t1.validado=t3.ID_EJ AND t1.capt_amad=t8.ID_EJ AND t1.id_ven=t4.ID_VEN AND t1.id_tienda=t5.ID_TIENDA AND t1.id_pro=t6.ID_PRO AND t1.status=t7.ID_ST AND
__________________
:cool: VELMA:si:
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 02:36.