Foros del Web » Programando para Internet » PHP »

Listar en Bloques

Estas en el tema de Listar en Bloques en el foro de PHP en Foros del Web. este script me ayudarona modificarlo aca ya me funciona logro listar las noticias de manera horizontal por 3 es decir asi.. | noticia1 | noticia2 ...
  #1 (permalink)  
Antiguo 28/07/2014, 19:45
 
Fecha de Ingreso: noviembre-2004
Mensajes: 249
Antigüedad: 19 años, 5 meses
Puntos: 1
Listar en Bloques

este script me ayudarona modificarlo aca ya me funciona logro listar las noticias de manera horizontal por 3

es decir asi..

| noticia1 | noticia2 | noticia3 |

ahora me gustaria que se pudiera hacer en esta forma ya que de esos tres no pasa...


| noticia1 | noticia2 | noticia3 |

| noticia4 | noticia5 | noticia6 |

| noticia7 | noticia8 | noticia9 |

aca dejo el script que me ayudaron ustedes a modificar el cual me funciona perfecto y lo pueden ver en funcionamiento aca: ver

aca dejo el codigo para que me ayuden

Código PHP:
<html>
<head>
<title>titulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <? 
$hostname 
"localhost";
$dbName   "basededatos";
$username "usuario";
$password "contraseña";
$tabla "boletin";

mysql_connect($hostname,$username,$password) or
print 
"Error en la Conexión";

mysql_select_db("$dbName") or
print 
"Error en la Base de datos";

$consulta "select * from $tabla order by id DESC";
$resultado=mysql_query($consulta);

$numregistros=mysql_numrows($resultado);

?>
<style type="text/css">
a:link {
    text-decoration: none;
    color: #000000;
}
a:visited {
    text-decoration: none;
    color: #000000;
}
a:hover {
    text-decoration: none;
    color: #000000;
}
a:active {
    text-decoration: none;
    color: #000000;
}
body,td,th {
    font-size: 10px;
    padding: 12px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
</style>
</head>
<body>
<a href="administracion_index.php" target="_blank">-</a>
<table width="154" height="187" border="0" align="center">
  <tr>
      <tr>
 <?
$i
=0;
while (
$i 3)
 {
      
$fecha=mysql_result($resultado,$i,fecha);
      
$titulo=mysql_result($resultado,$i,titulo);
      
$descripcion=mysql_result($resultado,$i,descripcion);
      
$nombre_archivo=mysql_result($resultado,$i,nombre_archivo);
      
$id=mysql_result($resultado,$i,id);
      
$rest =strip_tags.substr($descripcion090);
          
//Crear filas hasta que salga del bucle
      
echo  "<td><a href='noti.php?id=$id'><img src='./$nombre_archivo' width='150' height='134' border = '0' HSPACE='8' VSPACE='3' align='middle'><br><p align='justify' strip_tags $rest </a></td>"

?>
    <? 
    $i
++; 
    } 
    
?>
</table>
</body>
</html>
  #2 (permalink)  
Antiguo 28/07/2014, 20:56
 
Fecha de Ingreso: enero-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Listar en Bloques

podrías reemplazar el $i++;
por:

Código PHP:
Ver original
  1. if($i != 2){
  2.       $i++;
  3.     }else{
  4.       $i=0
  5.     }

el problema de esto es que te creara un while infinito.
tendrias que complementar mas el if, para que termine el while en cuanto no encuentre mas datos en la consulta.

lo que te recomiendo es que cambies el while que tienses por alguna función fetch: while($row = $resultado->fetch...
y dentro de este haces condiciones para que te genere la lista que deseas
  #3 (permalink)  
Antiguo 28/07/2014, 21:58
 
Fecha de Ingreso: noviembre-2004
Mensajes: 249
Antigüedad: 19 años, 5 meses
Puntos: 1
Respuesta: Listar en Bloques

a ver si entendi, puse donde esta el i++ la linea que me pusiste

if($i != 2){
$i++;
}else{
$i=0
}


pero me sale ahora asi al probar..

|noticia1||noticia2||noticia3||noticia1|||noticia2 ||noticia3||noticia1||noticia2|||noticia3

y lo de la otra parte no entendi....
  #4 (permalink)  
Antiguo 28/07/2014, 23:04
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Listar en Bloques

1. Creo que ese 3 fijo no va espero sea solo por el ejemplo
2. Puedes hacer lo iguiente

Código PHP:
Ver original
  1. If(($i+1)%3==0) {
  2. //lo que se hace es que cada 3 registros se agregue una nueva fila
  3. echo '</tr><tr>';
  4. }
Espero darme a entender.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #5 (permalink)  
Antiguo 29/07/2014, 00:18
 
Fecha de Ingreso: noviembre-2004
Mensajes: 249
Antigüedad: 19 años, 5 meses
Puntos: 1
Respuesta: Listar en Bloques

Hola migue muchas gracias por responder pues solo llevo poco contacto con la programacion web y con el php lo poco q he aprendido es gracias a personas como tu que dedican un ratico de su valioso tiempo rpara explicar y sacarnos de apuros entiendo lo q me dices pero en mi caso no me resulta intentare poner el codigo q me pasaste y te voy diciendo como me fue muchas gracias
  #6 (permalink)  
Antiguo 29/07/2014, 09:57
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Listar en Bloques

Pongo el codigo un poquito mas organizado a ver si me hago entender lo que debes hacer.

Código PHP:
Ver original
  1. <table width="154" height="187" border="0" align="center">
  2.       <tr>
  3.         <?php
  4.             $i          = 0;
  5.             $cantidad   = mysql_num_rows($resultado);
  6.             while ($i < 3) {
  7.                 $fecha              = mysql_result($resultado,$i,fecha);
  8.                 $titulo             = mysql_result($resultado,$i,titulo);
  9.                 $descripcion        = mysql_result($resultado,$i,descripcion);
  10.                 $nombre_archivo     = mysql_result($resultado,$i,nombre_archivo);
  11.                 $id                 = mysql_result($resultado,$i,id);
  12.                 $rest               = strip_tags.substr($descripcion, 0, 90);
  13.                 //Crear filas hasta que salga del bucle
  14.                 echo  "<td><a href='noti.php?id=$id'><img src='./$nombre_archivo' width='150' height='134' border = '0' HSPACE='8' VSPACE='3' align='middle'><br><p align='justify' strip_tags $rest </a></td>";
  15.                 if(($i+1)%3==0) {
  16.                     echo '</tr><tr>';
  17.                 }
  18.                 $i++;  
  19.             }
  20.         ?>
  21.     </tr>
  22. </table>
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #7 (permalink)  
Antiguo 29/07/2014, 10:45
 
Fecha de Ingreso: noviembre-2004
Mensajes: 249
Antigüedad: 19 años, 5 meses
Puntos: 1
Respuesta: Listar en Bloques

hola migue pues pongo el codigo como me dices, agrego mas noticia en la base de datos y nada no se muestra..

aca puedes verlo: VER EL RESULTADO
  #8 (permalink)  
Antiguo 29/07/2014, 13:33
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Listar en Bloques

deja ver como quedó tu código finalmente con las modificaciones que has hecho.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co

Etiquetas: bloques, fecha, html, mysql, registro, select, sql, tabla
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 13:45.