Foros del Web » Programando para Internet » PHP »

Problema en Consulta sql

Estas en el tema de Problema en Consulta sql en el foro de PHP en Foros del Web. Hola tengo un problemilla con un listado de registros. Tengo este while en php que lista el total de registros de una tabla de la ...
  #1 (permalink)  
Antiguo 14/03/2009, 19:03
Avatar de webmaniaco  
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 23
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema en Consulta sql

Hola tengo un problemilla con un listado de registros.

Tengo este while en php que lista el total de registros de una tabla de la bd:

Código PHP:
$result mysql_query("select * from tabla ORDER BY id DESC"$link) or die (mysql_error());
while (
$row mysql_fetch_array($result)) {
echo 
'<li>'.$row["id"].'</li>';

Y en pantalla imprime lo siguiente (suponiendo que hay un total de 7 registros en la tabla):

Código HTML:
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li> 
Ahora el problema. Este es el típico listado de registros por mysql_fetch_array en php... pero es que no necesito que me muestre así el listado.

Lo que necesitaría es que me imprima exactamente en pantalla lo siguiente (como si me listara los registros en grupos de 3):

Código HTML:
<li><p>1</p><p>2</p><p>3</p></li>
<li><p>4</p><p>5</p><p>6</p></li>
<li><p>7</p></li> 
Se os ocurre como hacerlo? He estado probando con un for que cuente de 3 en 3, pero no me sale :(

Gracias por la ayuda
  #2 (permalink)  
Antiguo 14/03/2009, 19:57
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años, 1 mes
Puntos: 360
Respuesta: Problema en Consulta sql

Aunque tu pregunta es referente a php y no ha base de datos, se me ocurre que puedes usar una función que te devuelva el numero de filas de una consulta.

$num_registros = mysql_num_rows($result);

con el numero de filas, puedes saber donde cierra el </li>.

seguramente en el foro de php tendras una mejor respuesta.

Un saludo.
  #3 (permalink)  
Antiguo 15/03/2009, 14:20
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 16 años, 5 meses
Puntos: 24
Respuesta: Problema en Consulta sql

Está hecho a lo rapido pero sería algo como esto, revisalo por posibles errores.

Código php:
Ver original
  1. $result = mysql_query("select * from tabla ORDER BY id DESC", $link) or die (mysql_error());
  2.  
  3. $cant_registros = mysql_num_rows($result);
  4.  
  5. if($cant_registros>0)
  6. {
  7.     $count = 0;
  8.     echo '<li>';
  9.     while ($row = mysql_fetch_array($result))
  10.     {
  11.          $count++;
  12.          echo '<p>'.$row["id"].'</p>';
  13.          if($count%3==0 && $cant_registros!=$count) // Si es multiplo de 3 y no es el ultimo cerramos y abrimos.
  14.          {
  15.              echo '</li><li>';
  16.          }elseif($cant_registros==$count) //Si es el último cerramos.
  17.          {
  18.              echo '</li>';
  19.          }
  20.     }
  21. }
  #4 (permalink)  
Antiguo 15/03/2009, 16:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años, 1 mes
Puntos: 360
Respuesta: Problema en Consulta sql

Yo lo veo bien.

Nos cuentas si te funciona.

Un saludo.
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:50.