Foros del Web » Programando para Internet » PHP »

ayuda con paginacion

Estas en el tema de ayuda con paginacion en el foro de PHP en Foros del Web. Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/html/php/paginacion/paginacion.php on line 28 si quito esto me funcion pero no me los ordena ...
  #1 (permalink)  
Antiguo 21/01/2010, 13:30
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
ayuda con paginacion

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/html/php/paginacion/paginacion.php on line 28

si quito esto me funcion pero no me los ordena por categoria
and id_categoria=$_GET[id_categoria]
Código PHP:

// maximo por pagina 
$limit 4
 
// pagina pedida 
$pag = (int) $_GET["pag"]; 
if (
$pag 1

   
$pag 1

$offset = ($pag-1) * $limit
 
 
$sql "SELECT SQL_CALC_FOUND_ROWS nombre_categoria,nombre_producto,ruta_foto_grande,ruta_foto_pequena,descripcion_producto FROM producto,foto,categoria where id_foto=producto_id_foto and id_categoria=producte_id_categoria and id_categoria=$_GET[id_categoria]  group by nombre_producto   LIMIT $offset, $limit"
$sqlTotal "SELECT FOUND_ROWS() as total"
 
$rs mysql_query($sql); 
$rsTotal mysql_query($sqlTotal); 
 
$rowTotal mysql_fetch_assoc($rsTotal); 
// Total de registros sin limit 
$total $rowTotal["total"]; 
 
$nom_categoria=0;
         while (
$row mysql_fetch_assoc($rs)) 
         { 
                        echo 
"<div class='producto'>";
        if(
$nom_categoria==0){
            echo    
"  <div class='categoria'><h1>".ucfirst("{$row['nombre_categoria']}")."</h1></div>";
        }
            echo 
"<div class='nombre'><h2>{$row['nombre_producto']}</h2></div>
                 <div class='imagen'>
                     <a href=' {$row['ruta_foto_grande']}' /><img src=' {$row['ruta_foto_pequena']} '/></a>
                     <div class='ampliar'>
                         <p><a href=' {$row['ruta_foto_grande']}' />ampliar</a></p></div>
                 </div>
                 <div class='descripcion'><p>{$row['descripcion_producto']}</p></div></br></br></br><hr></div></br>    "
;
      
$nombre_categoria++;
 }
     
      

         
$totalPag ceil($total/$limit); 
         
$links = array(); 
         for( 
$i=1$i<=$totalPag $i++) 
         { 
            
$links[] = "<a href=\"?pag=$i\">$i</a>";  
         } 
         echo 
implode(" - "$links); 
      
?> 
en la url me sale
paginacion.php?id_categoria=00
i despues cunado seleccion el uno me cambia ha
paginacion.php?pag=1
  #2 (permalink)  
Antiguo 21/01/2010, 13:33
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: ayuda con paginacion

prueba a ponerlo asi: $_GET['id_categoria'] , con comillas simples para no liarla con las dobles
  #3 (permalink)  
Antiguo 21/01/2010, 13:41
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: ayuda con paginacion

si conviertes esto:
$_GET[id_categoria]

a esto:

$getCateg = $_GET[id_categoria]

entonces escribirias...

and id_categoria=$getCateg

podria ser
  #4 (permalink)  
Antiguo 21/01/2010, 15:12
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: ayuda con paginacion

aun me da error pero he hecho que la url se ajuste a la salida que seria buena y tenia un error en la consulta pero de momento tampoco funciona
http://localhost/php/paginacion.php?id_categoria=00

http://localhost/php/paginacio.php?i...goria=00?pag=1
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/html/php/paginacio/paginacio.php on line 28




Código PHP:
//maximo por pagina 
$limit 4
 
// pagina pedida 
$pag = (int) $_GET["pag"]; 
if (
$pag 1

   
$pag 1

$offset = ($pag-1) * $limit
 
 
$sql "SELECT SQL_CALC_FOUND_ROWS nombre_categoria,nombre_producto,ruta_foto_grande,ruta_foto_pequena,descripcion_producto FROM producto,foto,categoria where id_foto=producto_id_foto and id_categoria=producto_id_categoria  and id_categoria=$_GET[id_categoria]  group by nombre_producte   LIMIT $offset, $limit"
$sqlTotal "SELECT FOUND_ROWS() as total"
 
$rs mysql_query($sql); 
$rsTotal mysql_query($sqlTotal); 
 
$rowTotal mysql_fetch_assoc($rsTotal); 
// Total de registros sin limit 
$total $rowTotal["total"]; 
 
$nombre_categoria=0;
         while (
$row mysql_fetch_assoc($rs)) 
         { 
                        echo 
"<div class='producto'>";
        if(
$nombre_categoria==0){
            echo    
"  <div class='categoria'><h1>".ucfirst("{$row['nombre_categoria']}")."</h1></div>";
        }
            echo 
"<div class='nombre'><h2>{$row['nombre_producto']}</h2></div>
                 <div class='imagen'>
                     <a href=' {$row['ruta_foto_grande']}' /><img src=' {$row['ruta_foto_pequena']} '/></a>
                     <div class='ampliar'>
                         <p><a href=' {$row['ruta_foto_grande']}' />ampliar</a></p></div>
                 </div>
                 <div class='descripcion'><p>{$row['descripcion_producto']}</p></div></br></br></br><hr></div></br>    "
;
      
$nombre_categoria++;
 }
     
      

         
$totalPag ceil($total/$limit); 
         
$links = array(); 
         for( 
$i=1$i<=$totalPag $i++) 
         { 
            
$links[] = "<a href=\"?id_categoria=$_GET[id_categoria]?pag=$i\">$i</a>";  
         } 
         echo 
implode(" - "$links); 
      
?> 
  #5 (permalink)  
Antiguo 21/01/2010, 15:18
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: ayuda con paginacion

no puedes colocar una variable de array asociativo dentro de una cadena, a menos que la coloques entre llaves {}. haz eso o sacala de la cadena y concatenala.

EDIT: el error que te marca es porque la consulta como esta da error y msyql_query() devuelve false (boolean) en lugar del resource qe devolveria (y que mysql_fetch_assoc() espera) si la consulta se ejecutara correctamente.
  #6 (permalink)  
Antiguo 21/01/2010, 15:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: ayuda con paginacion

así como tendrían que ir las llaves
  #7 (permalink)  
Antiguo 22/01/2010, 02:41
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: ayuda con paginacion

aun no me funciona sigo con el mismo error pero no se como solucionar-lo
  #8 (permalink)  
Antiguo 22/01/2010, 03:00
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: ayuda con paginacion

Veo algo raro aqui, creo que falta una coma, te la pongo en rojo.....

$sql = "SELECT SQL_CALC_FOUND_ROWS,nombre_categoria,nombre_producto,ruta_foto_grande, ruta_foto_pequena,descripcion_producto FROM producto,foto,categoria where id_foto=producto_id_foto and id_categoria=producto_id_categoria and id_categoria=$_GET[id_categoria] group by nombre_producte LIMIT $offset, $limit";


Y en este SELECT no hay ningun FROM tabla...... tampoco creo que funcione:

$sqlTotal = "SELECT FOUND_ROWS() as total";
  #9 (permalink)  
Antiguo 22/01/2010, 03:23
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: ayuda con paginacion

con la coma funciona peor porque desde el principo no muestra ningun producto

i poniendo las 3 tablas en la seguna tabla tampoco funciona

pongo unas imagenes las fotos i el texto se tienen que canviar

http://localhost/php/paginacio.php?id_categoria=00
http://img638.imageshack.us/img638/5194/foto1.png


http://localhost/php/paginacio.php?i...goria=00?pag=1
cuando selecciono el uno me sale esto
http://img710.imageshack.us/img710/128/foto2w.png

Etiquetas: paginacion
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:14.