Foros del Web » Programando para Internet » PHP »

Mostrar consulta en 4 columnas

Estas en el tema de Mostrar consulta en 4 columnas en el foro de PHP en Foros del Web. Buenas tardes amigos: Estoy realizando una consulta a mi base de datos, necesito mostrar los resultados en 4 columnas y debe estar paginado, el campo ...
  #1 (permalink)  
Antiguo 16/02/2011, 16:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Mostrar consulta en 4 columnas

Buenas tardes amigos:
Estoy realizando una consulta a mi base de datos, necesito mostrar los resultados en 4 columnas y debe estar paginado, el campo a mostrar son imágenes, todo está bien, a no ser porque al mostrar la última página del paginado, me sale un error en las imágenes, sale como que no encuentra la imagen, con una x de color rojo, lo extraño es que en la última página sólo debe haber dos imagenes, pero como en las anteriores muestra más imágenes, al parecer aquí al no encontrar sale el error como que no entrarara imagen. Necesito que me ayuden indicando, como puedo hacer para que en la página final aparecezcan las dos imágenes solas, sin esos errores de imagen no encontrada.
Adjunto imágenes de lo explicado y el código

La primera imagen sale ok, en la segunda está el error.

CÓDIGO DE MI ARCHIVO PHP

<?php
include("conexion.php");
$currentPage = $_SERVER["PHP_SELF"];
$maximo_consulta = 4;
$iniciar_consulta = 0;
if (isset($_GET['iniciar_consulta'])) {
$iniciar_consulta = $_GET['iniciar_consulta'];
}
$empezar_fila = $iniciar_consulta * $maximo_consulta;
//mysql_select_db($database, $connBD);
$consulta1 = "SELECT imagen FROM videos ORDER BY id desc";
$limite_fila1 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila, $maximo_consulta);
$resultado1 = mysql_query($limite_fila1, $dbh) or die(mysql_error());
$fila1 = mysql_fetch_assoc($resultado1);
$limite_fila2 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+4, $maximo_consulta);
$resultado2 = mysql_query($limite_fila2, $dbh) or die(mysql_error());
$fila2 = mysql_fetch_assoc($resultado2);
$limite_fila3 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+8, $maximo_consulta);
$resultado3 = mysql_query($limite_fila3, $dbh) or die(mysql_error());
$fila3 = mysql_fetch_assoc($resultado3);
$limite_fila4 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+12, $maximo_consulta);
$resultado4 = mysql_query($limite_fila4, $dbh) or die(mysql_error());
$fila4 = mysql_fetch_assoc($resultado4);
// consigues la variable transmitida por la URL
if (isset($_GET['total_de_resultados'])) {
$total_de_resultados = $_GET['total_de_resultados'];
} else {
$all_resultado1 = mysql_query($consulta1);
$total_de_resultados = mysql_num_rows($all_resultado1);
}
$totalPages_resultado1 = ceil($total_de_resultados/$maximo_consulta)-1;

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


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="panel/estilo/estilo.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="450" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<?php do { ?>
<td width="100" height="127" bgcolor="#FFFFFF"> <div align="center"><img src="cn/<?php
if ($fila1['imagen'] == ""){
}
else{
echo $fila1['imagen']; } ?>" /></div></td>
<?php } while ($fila1 = mysql_fetch_assoc($resultado1)); ?>
</tr>
<tr>
<?php do { ?>
<td width="100" height="127" bgcolor="#FFFFFF"> <div align="center"><img src="cn/<?php
if ($fila2['imagen'] == ""){
}
else{
echo $fila2['imagen']; } ?>" /></div></td>
<?php } while ($fila2 = mysql_fetch_assoc($resultado2)); ?>
</tr>
<tr>
<?php do { ?>
<td width="100" height="127" bgcolor="#FFFFFF"> <div align="center"><img src="cn/<?php
if ($fila3['imagen'] == ""){
}
else{
echo $fila3['imagen']; } ?>" /></div></td>
<?php } while ($fila3 = mysql_fetch_assoc($resultado3)); ?>
</tr>
<tr>
<?php do { ?>
<td width="100" height="127" bgcolor="#FFFFFF"> <div align="center"><img src="cn/<?php
if ($fila4['imagen'] == ""){
}
else{
echo $fila4['imagen']; } ?>" /></div></td>
<?php } while ($fila4 = mysql_fetch_assoc($resultado4)); ?>
</tr>
</table>
<table border="0" align="left">
<tr>
<td align="center">
<div align="left">
<?php if ($iniciar_consulta > 0) { // Se muestra si no es la primera página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, 0, $queryString_resultado1); ?>" class="paginacion_registros">Primero</a>
<?php } // Se muestra si no es la primera página ?>
</div></td>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta > 0) { // Se muestra si no es la primera página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, max(0, $iniciar_consulta - 4), $queryString_resultado1); ?>" class="paginacion_registros">Anterior</a>
<?php } // Se muestra si no es la primera página ?>
</div></td>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta < $totalPages_resultado1) { // Se muestra si no es la última página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, min($totalPages_resultado1, $iniciar_consulta + 4), $queryString_resultado1); ?>" class="paginacion_registros">Siguiente</a>
<?php } // Se muestra si no es la última página ?>
</div></td>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta < $totalPages_resultado1) { // Se muestra si no es la última página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, $totalPages_resultado1, $queryString_resultado1); ?>" class="paginacion_registros">&Uacute;ltimo</a>
<?php } // Se muestra si no es la última página ?>
</div></td>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($resultado1);
?>



Muchas gracias por su ayuda.
  #2 (permalink)  
Antiguo 16/02/2011, 16:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar consulta en 4 columnas

cuando salga el tache rojo te sugiero lo siguiente:

- da click derecho en dicha imagen rota
- selecciona la opción de ver imagen

si algo sale mal (que es casi obvio) no olvides mostrar lo que resulte...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/02/2011, 16:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Mostrar consulta en 4 columnas

Hola, hice lo que me indicaste, pero salió todo igual, se sigue mostrando todo igual.
  #4 (permalink)  
Antiguo 16/02/2011, 16:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar consulta en 4 columnas

Cita:
Iniciado por LIVERPOOL Ver Mensaje
Hola, hice lo que me indicaste, pero salió todo igual, se sigue mostrando todo igual.
por eso, la idea de ver imagen era que cargara dicha imagen directamente en el navegador, osea, para ver directamente lo que ocurre con dicha URL... ¿si entiendes?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/02/2011, 16:59
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Mostrar consulta en 4 columnas

justamente por eso te digo, hice lo que me dijiste, le di click derecho en la imagen y le di ver imagen, pero el navegador se mantuvo tal y como al inicio.
  #6 (permalink)  
Antiguo 16/02/2011, 17:01
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Mostrar consulta en 4 columnas

además, se supone que ya no debe aparecer ninguna imagen allí, justamente porque ya no hay más registros, sólo las tres imagenes de arriba, pero debajo nada, los tres últimos registros son esas tres imágenes de la parte superior. Ahora debe haber alguna forma de evitar que salgan esas imágenes con x allí.
  #7 (permalink)  
Antiguo 16/02/2011, 17:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar consulta en 4 columnas

Cita:
Iniciado por LIVERPOOL Ver Mensaje
justamente por eso te digo, hice lo que me dijiste, le di click derecho en la imagen y le di ver imagen, pero el navegador se mantuvo tal y como al inicio.
¿tienes una URL que podamos ver de alguna imagen rota?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 16/02/2011, 17:04
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Mostrar consulta en 4 columnas

claro le di click derecho propiedades y salió esto

http://www.constructivo.com/cn/

que es la dirección de mi web.
  #9 (permalink)  
Antiguo 16/02/2011, 17:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar consulta en 4 columnas

Cita:
Iniciado por LIVERPOOL Ver Mensaje
además, se supone que ya no debe aparecer ninguna imagen allí, justamente porque ya no hay más registros, sólo las tres imagenes de arriba, pero debajo nada, los tres últimos registros son esas tres imágenes de la parte superior. Ahora debe haber alguna forma de evitar que salgan esas imágenes con x allí.
si hubieses dicho eso desde un inicio nos hubiéramos ahorrado el mitote este!!

¿osea que imprimes nada en donde debería ir ninguna imagen?

¿y encima no sabes como evitarlo??
Código PHP:
<td width="100" height="127" bgcolor="#FFFFFF"> <div align="center"><img src="cn/<?php
if ($fila1['imagen'] == ""){
}
else{
echo 
$fila1['imagen']; } ?>" /></div></td>
es mala tu idea de que, solo recuerdas imprimir el nombre de la imagen, si hay un nombre...

sin embargo, cuando no hay nada, ¿que necesidad hay de imprimir el tag completo de la imagen?

¿te parece correcto?
Código PHP:
if ($row['imagen']) echo '<img src="' $row['imagen'] . '"/>';
/* else # no imprimas nada, no es necesario... */ 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 16/02/2011, 17:13
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Mostrar consulta en 4 columnas

es cierto, tienes toda la razón en lo que dices, por eso necesito saber como le digo que no imprima nada y en que parte del código que envié debo colocarlo.
  #11 (permalink)  
Antiguo 17/02/2011, 12:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: Mostrar consulta en 4 columnas

Gracias, el asunto fue resuelto.
Saludos.

Etiquetas: columnas
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 19:28.