Foros del Web » Programando para Internet » PHP »

Solucion rapida

Estas en el tema de Solucion rapida en el foro de PHP en Foros del Web. Hola tengo una pekeño problema. tenmgo una web de descarga, y en la zona de categorias,las imagenes y los datos se muestran asi: 1 2 ...
  #1 (permalink)  
Antiguo 24/03/2009, 18:08
 
Fecha de Ingreso: agosto-2008
Ubicación: León
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Solucion rapida

Hola tengo una pekeño problema.

tenmgo una web de descarga, y en la zona de categorias,las imagenes y los datos se muestran asi:

1
2
3
4
5
6
7
8


seguido de sus respectivos titulos datos etc.

lo que quiero es que se muestre asi:

1 2 3 4
5 6 7 8

y suprimirse ciertos datos, simplemente con la estructura me vale..


la idea seria dejarlo como la web filmixt.com/listado_de_peliculas_mas_descargadas_top_50.html[/url]


un saludo.

es urgente


xauuu y gracias
  #2 (permalink)  
Antiguo 24/03/2009, 18:35
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Solucion rapida

esto tiene solución con CSS

Última edición por jam1138; 24/03/2009 a las 19:18
  #3 (permalink)  
Antiguo 24/03/2009, 18:43
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Solucion rapida

En el caso que muestra lo puedes trabajar facilmente con las etiquetas table, analiza:

Lo que necesitas son 4 campos por cada fila, es decir; una vez dentro de un ciclo $contador++ sea igual a 4 harà un "termina esta fila".

Código PHP:

echo '<table>'

while( condiciones ){

$contador++

echo 
'<tr>

<td></td>'
;

if((
$contador==4)||($contador==8)){
echo 
'

</tr>

'
;


}

}


echo 
'</table>'
Has la condicion para que cada salto sea siguiente a +4, o si conoces exactamente las dimensiones de tu tabla utiliza una simple condicion como la que muestro.

Última edición por JairLizcano; 25/03/2009 a las 04:56
  #4 (permalink)  
Antiguo 25/03/2009, 03:16
 
Fecha de Ingreso: agosto-2008
Ubicación: León
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Solucion rapida

no acabo de entenderlo.. no tengo muchos conocimientos de programacion..
  #5 (permalink)  
Antiguo 25/03/2009, 03:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 29
Antigüedad: 16 años, 6 meses
Puntos: 3
Mensaje Respuesta: Solucion rapida

Hola Designlive,

Yo en tu lugar, lo que haría sería utilizar la propiedad float left del div, te explico.

Creas un div general con el tamaño que quieras que ocupe los cuatro contenidos, por ejemplo 600 px. Despues dentro del div creas divs de un 200px (quieres que salgan 4 en cada fila) con el contenido de cada apartado. Es decir:

Código php:
Ver original
  1. <div style="float:left;width:600px">
  2.      <?php foreach ($datos as $d){?>
  3.          <div style="width:200px">
  4.             <?php echo $d; ?>
  5.           </div>
  6. </div>

De esta manera te creará una estructura con 4 divs por fila con el contenido que tu quieras y da igual la cantidad de contenido que quieras mostrar, siempre saldrán filas de 4 hasta que acabe el array.
Si no quieres utilizar foreach puedes hacer un for, while eso ya a tu libre elección.
Espero que te sirva
Saludos...
  #6 (permalink)  
Antiguo 25/03/2009, 03:45
 
Fecha de Ingreso: agosto-2008
Ubicación: León
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Solucion rapida

mira os dejo aqui el codigo que quiero poner en 4 columnas
Código PHP:
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#333333">
                    <tr>
                      <td bgcolor="#333333" class="menu">&nbsp;</td>
                    </tr>
                    <tr>
                      <td width="18%" valign="top" bgcolor="#333333" class="menu"><strong><span style="border: 1px dashed #B8B7B7"><img src="<?
          
if($array[imagen] == "") {
          echo
'';
          }
          else {
          echo
'imagenes/caratulas/'.$array[imagen].'';
          }
          
?>" width="85" height="103" style="border: 1px solid #EEEEEE" /></span></strong></td>
                      <td width="82%" valign="top" bgcolor="#333333" class="menu">
                        <p><strong><a href="descarga-<? echo $array[id?>-<? echo urls_amigables($array[titulo]); ?>.html"><? echo $array[titulo?></a></strong>
                          <? 
                  
include("config.php");
                  
$seguridad mysql_query("select password from administradores where usuario='$_COOKIE[usuario_nick]'") ;
$datosseguridad mysql_fetch_array($seguridad) ;
if(
$_COOKIE[usuario_pass] != $datosseguridad[password] or mysql_num_rows($seguridad) == "0") {

}
else {
$administrador_logeado true;


?>
- <a href="admin/indice.php?admin=descargas&amp;editardescarga&amp;verpor=id&amp;texto=<? echo $array[id?>">Editar</a>
<?
}
?>
</p>
                        <p>
                        <?
                  
if(strlen($array[comentario]) > "250") { 
$array[comentario] = substr($array[comentario],0,250)."..."
}
echo 
$array[comentario];
?>
                        <br />                        
                        &raquo; <strong>Uploader:</strong> <? echo $array[comparte?><br />                        
                        &raquo; <strong>Descargas: </strong><? echo $array[clicks?>
                        <?
                    
if($array[subcategoria] != "0") {
                    
$sbc mysql_query("select * from descargas_subcategorias where id='$array[subcategoria]'");
                    
$dsbc mysql_fetch_array($sbc);
                    echo
'<br> &raquo; <strong>Subcategor&iacute;a: </strong><span class="Estilo13"><a href="descargassub-'.$dsbc[id].'-1-1.html">'.$dsbc[nombre].'</a></span>';
                    }
                    
?>
                        <br />                      
                      </p></td>
                    </tr>
                    <tr>
                      <td colspan="2" bgcolor="#333333"><span class="menu"><strong>
                      </span>
                        <div class="contenido">
                          <span class="menu">
                          <?
                $formato 
mysql_query("select * from descargas_formatos where id='$array[idformato]'");
                
$datosformato mysql_fetch_array($formato);
                if(
mysql_num_rows($formato) == OR $array[idformato] == "") {
                echo
'<center>Ninguno</center>';
                }
                else {
                echo
''.$datosformato[nombre].'';
                }
                
?> 
                          - 
                          <?
                        $fecha 
$array[fecha] ;

$diames date(d,$fecha) ; 
$mesano date(n,$fecha) ; 
$ano date(Y,$fecha) ;
$fecha "$diames/$mesano/$ano" ;
echo
''.$fecha.'';
?> 
                        | elink torrent descarga directa</span></div></td>
                    </tr>
                </table>
  #7 (permalink)  
Antiguo 25/03/2009, 03:56
 
Fecha de Ingreso: septiembre-2007
Mensajes: 29
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Solucion rapida

haz lo que te he dicho en el anterior post y hará lo que necesitas:

Código php:
Ver original
  1. //creas el div general con el ancho que quieres q te ocupe
  2.       <div style="float:left;width:600px">
  3.           //recorres todos el array y le das de tamaño al div el tamaño del div general divido entre 4
  4.            <?php foreach ($array as $a){?>
  5.                <div style="width:200px">
  6.                    // aqui pones todo el contenido que has puesto en anterior post
  7.                   <table>
  8.                         <tr>........
  9.                    </table>
  10.                 </div>
  11.           <?php } ?>
  12.       </div>
  #8 (permalink)  
Antiguo 25/03/2009, 04:07
 
Fecha de Ingreso: agosto-2008
Ubicación: León
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Solucion rapida

Cita:
Iniciado por jualder Ver Mensaje
haz lo que te he dicho en el anterior post y hará lo que necesitas:

Código php:
Ver original
  1. //creas el div general con el ancho que quieres q te ocupe
  2.       <div style="float:left;width:600px">
  3.           //recorres todos el array y le das de tamaño al div el tamaño del div general divido entre 4
  4.            <?php foreach ($array as $a){?>
  5.                <div style="width:200px">
  6.                    // aqui pones todo el contenido que has puesto en anterior post
  7.                   <table>
  8.                         <tr>........
  9.                    </table>
  10.                 </div>
  11.           <?php } ?>
  12.       </div>
eso ago pero lo que me pasa ahora es que me sale asi:

//creas el div general con el ancho que quieres q te ocupe
//recorres todos el array y le das de tamaño al div el tamaño del div general divido entre 4
1
1
1
1
1
1
1
1
1
1
1
1
//creas el div general con el ancho que quieres q te ocupe
//recorres todos el array y le das de tamaño al div el tamaño del div general divido entre 4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
//creas el div general con el ancho que quieres q te ocupe
//recorres todos el array y le das de tamaño al div el tamaño del div general divido entre 4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
//creas el div general con el ancho que quieres q te ocupe
//recorres todos el array y le das de tamaño al div el tamaño del div general divido entre 4
4
4
4
4
4
4
4
4
4
4
4
4
4


etc...... se repiten los contenidos... si tienes msn mandame un privado y te paso enlaces si kieres... esq ya no se que acer...
  #9 (permalink)  
Antiguo 25/03/2009, 04:15
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Solucion rapida

Reconsideralo estructurarlo con <table></table>.
  #10 (permalink)  
Antiguo 25/03/2009, 04:30
 
Fecha de Ingreso: agosto-2008
Ubicación: León
Mensajes: 28
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Solucion rapida

como?:S

lo siento. pero soy nulo
  #11 (permalink)  
Antiguo 25/03/2009, 04:56
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Solucion rapida

Cita:
Iniciado por JairLizcano Ver Mensaje
En el caso que muestra lo puedes trabajar facilmente con las etiquetas table, analiza:

Lo que necesitas son 4 campos por cada fila, es decir; una vez dentro de un ciclo $contador++ sea igual a 4 harà un "termina esta fila".

Código PHP:

echo '<table>'

while( condiciones ){

$contador++

echo 
'<tr>

<td></td>'
;

if((
$contador==4)||($contador==8)){
echo 
'

</tr>

'
;


}

}


echo 
'</table>'
Has la condicion para que cada salto sea siguiente a +4, o si conoces exactamente las dimensiones de tu tabla utiliza una simple condicion como la que muestro.
Solucion.
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 23:33.