Foros del Web » Programando para Internet » PHP »

ayuda con esta linea para paginacion

Estas en el tema de ayuda con esta linea para paginacion en el foro de PHP en Foros del Web. Hola, estoy tratando de modificar la paginacion que hace macromedia, pero me da el siguiente error (en realidad no entiendo la linea): Código PHP: Warning ...
  #1 (permalink)  
Antiguo 09/04/2006, 06:34
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
ayuda con esta linea para paginacion

Hola, estoy tratando de modificar la paginacion que hace macromedia, pero me da el siguiente error (en realidad no entiendo la linea):
Código PHP:
Warningodbc_exec() [function.odbc-exec]: SQL error: [MySQL][ODBC 3.51 Driver][mysqld-5.0.18-nt]You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #8 LIMIT 0, 5' at line 1SQL state 37000 in SQLExecDirect in C:Program FilesEasyPHP1-8wwwarchivosadmincatCombo.php on line 45 
Esta es la linea:
Código PHP:
$query_limit_rsCategorias sprintf("%s LIMIT %d, %d"$SeleArchivos$startRow_rsCategorias$maxRows_rsCategorias); 
Si necesitan el codigo completo:
Código PHP:
//paginacion
$currentPage = $_SERVER["PHP_SELF"];


$maxRows_rsCategorias = 5;
$pageNum_rsCategorias = 0;
if (isset($_GET['pageNum_rsCategorias'])) {
  $pageNum_rsCategorias = $_GET['pageNum_rsCategorias'];
}
$startRow_rsCategorias = $pageNum_rsCategorias * $maxRows_rsCategorias;
//fin paginacion

$categorias = "Select * from categorias";
$query = odbc_exec($conexion,$categorias);

//existe un combo box para seleccionar el categoria aqui en medio


//sigue el script para la paginacion
$SeleArchivos = "Select * from archivos Where Cat='".$_GET['id_cat']."'";
      $SeleQueryArchivos = odbc_exec($conexion,$SeleArchivos);
      
      //sigue paginacion
$query_limit_rsCategorias = sprintf("%s LIMIT %d, %d", $SeleArchivos, $startRow_rsCategorias, $maxRows_rsCategorias);
$rsCategorias = odbc_exec($conexion,$query_limit_rsCategorias) or die(mysql_error());
$row_rsCategorias = odbc_fetch_row($rsCategorias);

if (isset($_GET['totalRows_rsCategorias'])) {
  $totalRows_rsCategorias = $_GET['totalRows_rsCategorias'];
} else {
  $all_rsCategorias = odbc_exec($conexion,$SeleQueryArchivos);
  $totalRows_rsCategorias = odbc_fetch_row($all_rsCategorias);
}
$totalPages_rsCategorias = ceil($totalRows_rsCategorias/$maxRows_rsCategorias)-1;

$queryString_rsCategorias = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_rsCategorias") == false && 
        stristr($param, "totalRows_rsCategorias") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_rsCategorias = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_rsCategorias = sprintf("&totalRows_rsCategorias=%d%s", $totalRows_rsCategorias, $queryString_rsCategorias);

//aqui los enlaces hacia las paginas

<table border="0" width="50%" align="center">
            <tr>
              <td width="23%" align="center"><?php if ($pageNum_rsCategorias 0) { // Show if not first page ?>
                    <a href="<?php printf("%s?pageNum_rsCategorias=%d%s"$currentPage0$queryString_rsCategorias); ?>"><img src="First.gif" border=0></a>
                    <?php // Show if not first page ?>
              </td>
              <td width="31%" align="center"><?php if ($pageNum_rsCategorias 0) { // Show if not first page ?>
                    <a href="<?php printf("%s?pageNum_rsCategorias=%d%s"$currentPagemax(0$pageNum_rsCategorias 1), $queryString_rsCategorias); ?>"><img src="Previous.gif" border=0></a>
                    <?php // Show if not first page ?>
              </td>
              <td width="23%" align="center"><?php if ($pageNum_rsCategorias $totalPages_rsCategorias) { // Show if not last page ?>
                    <a href="<?php printf("%s?pageNum_rsCategorias=%d%s"$currentPagemin($totalPages_rsCategorias$pageNum_rsCategorias 1), $queryString_rsCategorias); ?>"><img src="Next.gif" border=0></a>
                    <?php // Show if not last page ?>
              </td>
              <td width="23%" align="center"><?php if ($pageNum_rsCategorias $totalPages_rsCategorias) { // Show if not last page ?>
                    <a href="<?php printf("%s?pageNum_rsCategorias=%d%s"$currentPage$totalPages_rsCategorias$queryString_rsCategorias); ?>"><img src="Last.gif" border=0></a>
                    <?php // Show if not last page ?>
              </td>
            </tr>
          </table>
pero la linea del error es la que di anteriormente:
Código PHP:
$query_limit_rsCategorias sprintf("%s LIMIT %d, %d"$SeleArchivos$startRow_rsCategorias$maxRows_rsCategorias); 

Espero me ayuden a entender la linea por favor
Saludos
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 09/04/2006, 10:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola !!! no he trabajado nunca con odbc. Pero aun asi esta linea me resulta excesivamente compleja para lo que quieres hacer:
$query_limit_rsCategorias = sprintf("%s LIMIT %d, %d", $SeleArchivos, $startRow_rsCategorias, $maxRows_rsCategorias);

A lo mejor seria mas facil hacerlo asi
$query_limit_rsCategorias= $SeleArchivos . "LIMIT ".$startRow_rsCategorias." , ".$maxRows_rsCategorias

No se, seguro que lo otro tambien esta bien, pero lo veo mas propio de la programacion en C y no creo que en php sea necesario.

Un saludo.
  #3 (permalink)  
Antiguo 09/04/2006, 10:53
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Bueno el caso es que no entendia la funcion sprintf pero me estoy dando una leida en php.net sobre la funcion, ya estoy solucionando los problemas :)

graicas por tu aporte
__________________
www.dataautos.com
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 04:21.