Comunidad de diseño web y desarrollo en internet online

Problema con visualización de tabla

Citar            
MensajeEscrito el 05 Oct 2011 04:46 pm
Hola a todos! Escribo porque tengo un problemita que no puedo dar con la solución. Tengo una página de clásificados y deseo que en el index se muestren los últimos 9 avisos publicados. Hasta ahí todo bien, pero me encuentro con el problema que no puedo centrar esos anuncios, ya que deseo que se visualicen en 3 filas de 3 columnas, pero solo puedo hacer que se vea bien la primera fila, ya que los avisos restantes los incluye en la segunda linea, sin saltar a la tercera.

El código de la parte especifica con el problema es el siguiente:

Código PHP :

if($lrows > '0')
{

   $ListingTable .= "<table width=\"100%\" cellspacing=0>\n";
      $ListingTable .= "<tr>\n\t";
      $iter = "";
  $i=0;
   while($a1 = mysql_fetch_array($r1))
   {
     if ($i == '3'){$ListingTable .= "</tr><tr>\n\t";}
     $i++;

      $ListingTable .= "<td height=60 width=\"270\" valign=top>";
      $iter++;
      $ListingTable .= "<table width=\"100%\" height=\"250\" style=\"";
      if ($iter == 2)  $ListingTable .= "border-left: 2px dotted #666;";
     if ($iter == 3)  $ListingTable .= "border-left: 2px dotted #666;";
      if ($iter == 4)  $ListingTable .= "border-top: 2px dotted #666;";
      if ($iter == 5)  $ListingTable .= "border-left: 2px dotted #666; border-top: 2px dotted #666;";
     if ($iter == 6)  $ListingTable .= "border-left: 2px dotted #666; border-top: 2px dotted #666;";
     if ($iter == 7)  $ListingTable .= "border-top: 2px dotted #666;";
      if ($iter == 8)  $ListingTable .= "border-left: 2px dotted #666; border-top: 2px dotted #666;";
     if ($iter == 9)  $ListingTable .= "border-left: 2px dotted #666; border-top: 2px dotted #666;";

      $ListingTable .= "\">\n";



Desde ya agradezco cualquier ayuda que puedan brindarme :)

Por Matias-78

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Oct 2011 09:07 pm
para centrar los anuncios debes usar la directiva css "text-align:center"
puedes usarla por ejemplo en la etiqueta <td style="text-align":center> para que centre la tabla, si eso no funciona siempre puedes poner en la tabla interior

<table style="margin-left: auto; margin-right:auto;">

para de esta forma la tabla se centre dentro del <td> (centrarse indica que los margenes derecho e izquierdo tendran el mismo tamaño pero el contenido de esa tabla seguira alineandose al lado que este definido)

suerte

Por bray

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Oct 2011 10:00 pm
Hola Bray, muchas gracias por tu timepo. Eso está bien, pero el problema es que al quedar 3 anuncios en una columna y 6 en la otra no es posible. Lo que deseo es que se vean 3 en la primera fila, 3 en la segunda y 3 en la tercera. Pero todos los anuncios esán dentro de una misma tabla con una única celda y separados por condiciones y es ahí donde no logro hacer que cada 3 anuncios haga un salto, así no quedan todos amontonados en la segunda fila.

Por Matias-78

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Oct 2011 11:12 pm
ero si usas tablas pues utiliza una celda para cada anuncio y listo , cada vez que leas un anuncio de la base de datos agregas antes y despues las etiquetas html para la celda y cuando tengas los anuncios por filas que deseas pues cambias de fila.

lees los 9 anuncios y los tienes en un array por ejemplo $anuncios voy a suponer que con indice numerico para hacer mas simple el codigo pero vamos no importa si es el array asociativo que sacas de cada consulta



Código :

$numeroNoticiasFila = 3;  
$html= "<tr>";  
for ($i=0; $i<9; $i++){
    $html .="<td>". $noticia[$i] "<td>";  
   $numeroNoticiasFila--;  
   if ($numeroNoticiasFila == 0 && i  < 8){  
      $numeroNoticiasFila = 3;  
      $html .=</tr><tr>  
   }  
   $html .= </tr>  




con el codigo anterior dibujas una tabla en la que tendras una noticia en cada celda, supongo que $noticias[$i] puede contener una estructura de datos, ya sea un objeto, una tabla o lo que sea, para dibujar las tablas con las noticias en general este codigo deberia ser bastante

este mismo dibujo puede hacerse con css de forma algo mas compleja usando floats, pero en este caso el uso de tablas yo creo que es mas sencillo

Por bray

65 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.