PHP - Ayuda con intruccion heredoc en paginador

   
Vista:

Ayuda con intruccion heredoc en paginador

Publicado por Velma Kelly (39 intervenciones) el 15/12/2009 19:53:58
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

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> ";
}

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

if ($_GET['accion']=="consultastatus"){

lo he puesto
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> ";
}

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?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con intruccion heredoc en paginador

Publicado por Velma Kelly (39 intervenciones) el 17/12/2009 18:52:55
Quedo de esta forma:

[codigo]$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>  ";[/codigo]

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

[codigo]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[/codigo]

Ya revise la base y esta igual que la que tengo en mi pc, tendria que ver algo de la configuracion de linux?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con intruccion heredoc en paginador

Publicado por Diego Romero (1450 intervenciones) el 17/12/2009 19:09:46
No, tiene que ver con la sintaxis de la sentencia SQL que estás usando (la cual no está en el código que has posteado aquí).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con intruccion heredoc en paginador

Publicado por velmakelly (39 intervenciones) el 21/12/2009 21:09:59
el 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

$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>  ";
}
for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
$cant= "<font face='verdana' size='-2'><b>".$i."</b> </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>  ";
}
}
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

alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar