Foros del Web » Programando para Internet » PHP »

Utilizando PAGINATOR 1.5

Estas en el tema de Utilizando PAGINATOR 1.5 en el foro de PHP en Foros del Web. Lo primero dar las gracias al creador de este estupendo script. Tengo un problema al ejecutarlo, es el siguiente: Error en la consulta de conteo ...
  #1 (permalink)  
Antiguo 22/12/2004, 04:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 114
Antigüedad: 13 años
Puntos: 0
Utilizando PAGINATOR 1.5

Lo primero dar las gracias al creador de este estupendo script.

Tengo un problema al ejecutarlo, es el siguiente:

Error en la consulta de conteo de registros: Resource id #3. Mysql dijo: 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 'Resource id #3' at line 1

Soy incapaz de localizar el este error, e comprobado las SQL´s y aparentemente estan correctas y a poner la variable "conteo de registros" tanto en true como en false, de donde puede venir? Les dejo mi codigo por si les puede servir de ayuda:

<?
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: Mon,26 Jul 1997 05:00:00 GMT");
//Conexión a la base de datos
$con = mysql_connect("xxx","xxxr","xxx") or die (mysql_error());
mysql_select_db("xxx",$con) or die (mysql_error());
?>
<FORM name="formulario" action="<? echo $_SERVER['SCRIPT_NAME'] ?>" method="POST">
<TABLE border="1" width="90%">
<?
$_pagi_sql = ('SELECT CLIENTES.NOMBRE CLIENTE, PARTES.NUMERO, COMERCIO.NOMBRE COMERCIO, PARTES.FECHA_ENTRADA, PROVINCIAS.NOMBRE PROVINCIA
FROM PARTES
INNER JOIN CLIENTES ON (CLIENTES.CODIGO = PARTES.CLIENTE)
INNER JOIN COMERCIO ON (COMERCIO.CLIENTE = PARTES.CLIENTE AND COMERCIO.CODIGO = PARTES.COMERCIO)
INNER JOIN PROVINCIAS ON (PROVINCIAS.CP = PARTES.CP)
WHERE (DELEGACION="28" AND FECHA_REALIZACION IS NULL AND FECHA_VF IS NULL)
ORDER BY PARTES.DESDE DESC ');
$columns = mysql_num_fields($_pagi_sql);
while ($row=mysql_fetch_array($_pagi_sql)){
echo '<tr>
<th><A href="NUMERO='.$row["NUMERO"].'">'.$row["NUMERO"].'</A></th>
<td width="20%">'.$row["CLIENTE"].'</td>
<td width="40%">'.$row["COMERCIO"].'</td>
<td>'.$row["PROVINCIA"].'</td>
<td>'.substr($row["FECHA_ENTRADA"],8,2).'/'.substr($row["FECHA_ENTRADA"],5,2).'/'.substr($row["FECHA_ENTRADA"],2,2).'</td>
</tr>';
}
echo "Trabajos Pendientes: ".mysql_num_rows($_pagi_sql);

//Incluimos el script de paginación. Éste ya ejecuta la consulta
include("paginator.inc.php");
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
echo $row['nombre']."<br />";
}

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
?>
</TABLE>


Muchas Gracias
  #2 (permalink)  
Antiguo 22/12/2004, 06:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,
Código PHP:
 $_pagi_sql = (SELECT CLIEN... 
¿Eso lo tienes asi? ¿No lo tendras
Código PHP:
 $_pagi_sql mysql_query(SELECT CLIEN... 
?

Si lo tienes tal como lo muestras, deberia fallarte en
Código PHP:
 $columns mysql_num_fields($_pagi_sql);
while (
$row=mysql_fetch_array($_pagi_sql)){ 
Si lo tienes con mysql_quey() entonces te falla en la libreria paginator porque esa libreria requiere que $_pagi_sql sea una cadena de texto.

De todas formas, lo que tienes que hacer es "fusionar" este codigo
Código PHP:
<?
$_pagi_sql 
= ('SELECT CLIENTES.NOMBRE CLIENTE, PARTES.NUMERO, COMERCIO.NOMBRE COMERCIO, PARTES.FECHA_ENTRADA, PROVINCIAS.NOMBRE PROVINCIA
FROM PARTES
INNER JOIN CLIENTES ON (CLIENTES.CODIGO = PARTES.CLIENTE)
INNER JOIN COMERCIO ON (COMERCIO.CLIENTE = PARTES.CLIENTE AND COMERCIO.CODIGO = PARTES.COMERCIO)
INNER JOIN PROVINCIAS ON (PROVINCIAS.CP = PARTES.CP)
WHERE (DELEGACION="28" AND FECHA_REALIZACION IS NULL AND FECHA_VF IS NULL)
ORDER BY PARTES.DESDE DESC '
);
$columns mysql_num_fields($_pagi_sql);
while (
$row=mysql_fetch_array($_pagi_sql)){
echo 
'<tr>
<th><A href="NUMERO='
.$row["NUMERO"].'">'.$row["NUMERO"].'</A></th>
<td width="20%">'
.$row["CLIENTE"].'</td>
<td width="40%">'
.$row["COMERCIO"].'</td>
<td>'
.$row["PROVINCIA"].'</td>
<td>'
.substr($row["FECHA_ENTRADA"],8,2).'/'.substr($row["FECHA_ENTRADA"],5,2).'/'.substr($row["FECHA_ENTRADA"],2,2).'</td>
</tr>'
;
}
echo 
"Trabajos Pendientes: ".mysql_num_rows($_pagi_sql);

//Incluimos el script de paginación. Éste ya ejecuta la consulta
include("paginator.inc.php");
//Leemos y escribimos los registros de la página actual
while($row mysql_fetch_array($_pagi_result)){
echo 
$row['nombre']."<br />";
}

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
en algo como
Código PHP:
<?
$_pagi_sql 
= ('SELECT CLIENTES.NOMBRE CLIENTE, PARTES.NUMERO, COMERCIO.NOMBRE COMERCIO, PARTES.FECHA_ENTRADA, PROVINCIAS.NOMBRE PROVINCIA
FROM PARTES
INNER JOIN CLIENTES ON (CLIENTES.CODIGO = PARTES.CLIENTE)
INNER JOIN COMERCIO ON (COMERCIO.CLIENTE = PARTES.CLIENTE AND COMERCIO.CODIGO = PARTES.COMERCIO)
INNER JOIN PROVINCIAS ON (PROVINCIAS.CP = PARTES.CP)
WHERE (DELEGACION="28" AND FECHA_REALIZACION IS NULL AND FECHA_VF IS NULL)
ORDER BY PARTES.DESDE DESC '
);

//Incluimos el script de paginación. Éste ya ejecuta la consulta
include("paginator.inc.php");

while (
$row=mysql_fetch_array($_pagi_result)){
echo 
'<tr>
<th><A href="NUMERO='
.$row["NUMERO"].'">'.$row["NUMERO"].'</A></th>
<td width="20%">'
.$row["CLIENTE"].'</td>
<td width="40%">'
.$row["COMERCIO"].'</td>
<td>'
.$row["PROVINCIA"].'</td>
<td>'
.substr($row["FECHA_ENTRADA"],8,2).'/'.substr($row["FECHA_ENTRADA"],5,2).'/'.substr($row["FECHA_ENTRADA"],2,2).'</td>
</tr>'
;
}
echo 
"Trabajos Pendientes: ".mysql_num_rows($_pagi_result);

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
El include del paginator realiza el mysql_query() y devuelve en $_pagi_result el id de resultado que es el que usas luego en el resto de funciones de mysql.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 23/12/2004, 02:55
 
Fecha de Ingreso: diciembre-2004
Mensajes: 114
Antigüedad: 13 años
Puntos: 0
[QUOTE=josemi]Hola,
Código PHP:
 $_pagi_sql = (SELECT CLIEN... 
¿Eso lo tienes asi? ¿No lo tendras
Código PHP:
 $_pagi_sql mysql_query(SELECT CLIEN... 
?[/QUOTE=josemi]


Si lo tengo asi $_pagi_sql = mysql_query('SELECT CLIEN.. , probare lo que me comentas esta tarde y a ver si se soluciona, aunque creo q el problema no es ese.

Os comentare como fue

Gracias
  #4 (permalink)  
Antiguo 25/12/2004, 21:55
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Pues yo no lo pude haber explicado mejor que josemi... prueba lo que él te puso porque aunque no te parezca, ése es el problema.

Saludos
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 20:48.