Foros del Web » Programando para Internet » PHP »

Menu en columnas segun cantidad de registros????

Estas en el tema de Menu en columnas segun cantidad de registros???? en el foro de PHP en Foros del Web. Hola quisiera poder armar una seccion donde se muestran categorias, y estas estan ordenadas en columnas. La cantidad de columnas tiene que estar determinadas por ...
  #1 (permalink)  
Antiguo 24/01/2009, 08:16
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Menu en columnas segun cantidad de registros????

Hola quisiera poder armar una seccion donde se muestran categorias, y estas estan ordenadas en columnas. La cantidad de columnas tiene que estar determinadas por la cantidad de categorias. Y las categorias estan cargadas en una base de datos.

Probe varias versiones que daban aca en el foro, al intentar adaptarla a mi base de datos no funcionan.

Cansado de probar me las ingenie para mostrar las categorias de otra manera que comparto con ustedes por si las dudas les gusta:
Código:
mysql_select_db($database_wikiargscout, $wikiargscout);
$query_consulta_cat = "SELECT Id, cantidad FROM prueba ORDER BY cantidad ASC";
$consulta_cat = mysql_query($query_consulta_cat, $wikiargscout) or die(mysql_error());
$row_consulta_cat = mysql_fetch_assoc($consulta_cat);
$totalRows_consulta_cat = mysql_num_rows($consulta_cat);
?><html>
<body>
<p>
<SCRIPT LANGUAGE="JavaScript">
document.write('<marquee id="iescroller" direction="left" width="100%" height="65" scrollamount="2" scrolldelay="50" style="border:0">');
iescroller.onmouseover=new Function("iescroller.scrollAmount=0");
iescroller.onmouseout=new Function("iescroller.scrollAmount=2");
</script>
  |
  <?php do { ?>
    <?php echo $row_consulta_cat['cantidad']; ?>
    <?php print "|"?>
    <?php } while ($row_consulta_cat = mysql_fetch_assoc($consulta_cat)); ?> 
  <SCRIPT LANGUAGE="JavaScript">
document.write('</marquee>');
//  End -->
  </script>
</p>
</body>
</html>
Pero igualmente me gustaria poder mostrarlo como les preguntaba al principio, ya que queda mas organizado y mejor presentado.
Agradezco cualquier tipo de colaboracion.
  #2 (permalink)  
Antiguo 24/01/2009, 11:15
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Solucionado

Bueno gente, buscando buscando, logre solucionar este tema.
Lo que hice, fue determinar cuantas columnas iba a querer que se muestren, en mi caso elegi 4.
Lo que hice fue trabajar con una tabla de dos columnas (id, cantidad)
Despues en codigo php, tomando el que aporto "jurena" en el post http://www.forosdelweb.com/f18/ayuda-con-mysql-mostrar-resultados-diferentes-filas-603722/
lo modifique un poco para que enlistara todos los registros de la columna "cantidad" y los distribuyera en 4 columnas, y que ademas apareciera como enlace para direccionarlo a la pagina que muerta los registros que pertenecen a esa categoria:

Código:
mysql_select_db($database_wikiargscout, $wikiargscout);
$query_consulta_cat = "SELECT * FROM prueba";
$consulta_cat = mysql_query($query_consulta_cat, $wikiargscout) or die(mysql_error());
$row_consulta_cat = mysql_fetch_assoc($consulta_cat);
$totalRows_consulta_cat = mysql_num_rows($consulta_cat);
$numcol = 4;
$x=0;
?><html>
<body>
<p>
  <?php
echo '<table>';
while ($carga1=mysql_fetch_array($consulta_cat)) {
if ($x % $numcol==0) {
echo '<tr><td><img src="recursos/img/item.png" width="10" height="10">  <a href="biblioteca.php?cat='.$carga1['Id'].'">'.$carga1['cantidad'].'</td><td></td>';
} elseif ($x % $numcol==$numcol - 1) {
echo '<td><img src="recursos/img/item.png" width="10" height="10">  <a href="biblioteca.php?cat='.$carga1['Id'].'">'.$carga1['cantidad'].'</td><td></td></tr>';
} else {echo '<td><img src="recursos/img/item.png" width="10" height="10">  <a href="biblioteca.php?cat='.$carga1['Id'].'">'.$carga1['cantidad'].'</td><td></td>';} $x++;
}
echo '</table>';
?> 
</p>
En si, les va a aparecer sin mucho formato las categorias, pero es lo que yo estaba buscando y que en google aparece complicadisimamente explicado!!!
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 18:27.