Foros del Web » Programando para Internet » PHP »

Presentar resultados

Estas en el tema de Presentar resultados en el foro de PHP en Foros del Web. hola queria saber como pedir resultados a una DB y que aprezcan 4 a la derecha en celdas y 4 abajo en filas, osea ke ...
  #1 (permalink)  
Antiguo 24/09/2003, 15:30
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 16 años, 1 mes
Puntos: 0
Presentar resultados

hola queria saber como pedir resultados a una DB y que aprezcan 4 a la derecha en celdas y 4 abajo en filas, osea ke en total se vean 16 resultados.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Espero haberme explicado gracias
__________________
Seguro que ahora me sale mejor!
  #2 (permalink)  
Antiguo 24/09/2003, 15:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Si revisas el mensaje de las FAQs Cain puso como presentar el resultado de una consulta en columnas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 24/09/2003, 16:59
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 16 años, 1 mes
Puntos: 0
No consigo ahcer que me salga os dejo el codigo para ver si veis el fallo porque yo no lo veo he probado varias combinacioones:

$result = sql_query("SELECT id, title, cover FROM nuke_reviews ORDER BY date DESC LIMIT 6", $dbi);
while(list($id, $title, $cover) = sql_fetch_row($result, $dbi)) {
$reviews .= "<tr><td class=\"porta_news_text\" align=\"center\" ><a href=\"modules.php?name=Reviews&amp;rop=showconten t&amp;id=$id\"><img src=\"images/reviews/$cover\" width=\"80\" border=\"0\" class=\"borde_foto\" alt=\"$title\"><br>$title</a></td></tr>";
//}
//echo "$reviews";

$columnes = 2; # Número de columnas (variable)
echo "<tr><td colspan=$columnes>$row $reviews</td></tr>";

for ($i=1; $row = mysql_fetch_row ($result); $i++) {
$resto = ($i % $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
echo "<td>$row[1]</td>";
if ($resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
if ($resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust = $columnes - $resto; # Número de huecos necesarios
for ($j = 0; $j < $ajust; $j++) {echo "<td>&nbsp;</td>";}
echo "</tr>"; # Cerramos la última línea </tr>
}
}
__________________
Seguro que ahora me sale mejor!
  #4 (permalink)  
Antiguo 25/09/2003, 06:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Es que debes sustituir tu while por el for de Cain adaptado a tu caso. Sin revisarlo mucho seria algo asi:
Código PHP:
$result sql_query("SELECT id, title, cover FROM nuke_reviews ORDER BY date DESC LIMIT 6"$dbi);

$columnes 2# Número de columnas (variable)

echo "<tr><td colspan=$columnes>$row $reviews</td></tr>"// este es la primera fila de la tabla

for ($i=1; list($id$title$cover) = sql_fetch_row($result$dbi); $i++) {
$resto = ($i $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
// este echo saca cada celda
echo "<td class=\"porta_news_text\" align=\"center\" ><a href=\"modules.php?name=Reviews&rop=showcontent&id=$id\"><img src=\"images/reviews/$cover\" width=\"80\" border=\"0\" class=\"borde_foto\" alt=\"$title\"><br>$title</a></td>"

if (
$resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
if (
$resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust $columnes $resto# Número de huecos necesarios
for ($j 0$j $ajust$j++) {echo "<td> </td>";}
echo 
"</tr>"# Cerramos la última línea </tr> 
Con este codigo deberias tener una fila con el titulo y x filas con 2 celdas mostrando los datos de la BD. Por supuesto, antes debes hacer un echo "<table>"; y despues un echo "</table>";

No se si saldra tal como quieres. Pero con esto te mostrara todos los resultados en una tabla a 2 columnas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 25/09/2003, 09:48
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 16 años, 1 mes
Puntos: 0
gracias pero me da un parse al final de la etiqueta que cierra el PHP

Parse error: parse error, unexpected $ in /Portada/index.php on line 321
esa linea coincide con ?>
__________________
Seguro que ahora me sale mejor!
  #6 (permalink)  
Antiguo 25/09/2003, 09:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Cuando da un error en esa linea (o en una de HTML), es que se nos ha olvidado cerrar una } o una ". Revisalo, mejor con un editor que resalte la sintaxis ("le ponga colorines"), para que salte a la vista.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 25/09/2003, 13:54
Avatar de benti  
Fecha de Ingreso: octubre-2001
Ubicación: Benidorm
Mensajes: 413
Antigüedad: 16 años, 1 mes
Puntos: 0
Efectivamente esta solucionado, para ver como queda aunqeu no he terminado el modulo puedes enrtar en http://www.metalmas.com/modules.php?name=Portada aunque si lo ves despues de terminado te gustara mas todo
gracias por tu ayuda.
__________________
Seguro que ahora me sale mejor!
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 06:39.