Foros del Web » Programando para Internet » PHP »

ayuda.. como puedo hacer para tener 5 o x cantidad de columnas?

Estas en el tema de ayuda.. como puedo hacer para tener 5 o x cantidad de columnas? en el foro de PHP en Foros del Web. saludos.... por ejemplo como estoy probando en esta pagina http://www.ctk.cl/byzard/jd/ me gustaria que despues de la 5 foto, me hiciera otra fila y que me ...
  #1 (permalink)  
Antiguo 09/02/2005, 23:27
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 4 meses
Puntos: 0
ayuda.. como puedo hacer para tener 5 o x cantidad de columnas?

saludos....

por ejemplo como estoy probando en esta pagina

http://www.ctk.cl/byzard/jd/

me gustaria que despues de la 5 foto, me hiciera otra fila y que me colocara las fotos que siguen... se que se ocurre que con una condicion if column<=5 que pasara a la otra, pero no sabria como hacerlo... alguien me podria decir como podria hacer para que me quede en x columnas?

aca esta el codigo original
de esa parte

Código:
<?php
	include("conec.php");
	$link=Conectarse();
	$result=mysql_query("SELECT * FROM jd",$link);

if ($row= mysql_fetch_array($result))
{
echo "<TABLE BORDER='1'>";
?>
<?
DO
{

?>&nbsp;<TD><?echo "<img src=".$row['foto']." height=70 width=70 border=1>";?><BR><?
echo $row["nombre"];?></TD><?
}
while ($row=mysql_fetch_array($result));
echo "</TABLE>";
}
	mysql_close($link);
?></table></div></body></html>
gracias por la ayuda....

Última edición por byzard; 09/02/2005 a las 23:29
  #2 (permalink)  
Antiguo 09/02/2005, 23:50
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Buenos Aires
Mensajes: 699
Antigüedad: 15 años, 4 meses
Puntos: 1
en las faqs hay un jemplo, que seguro, lo podes adaptar a tus necesidades.


Saludos, Mauro
  #3 (permalink)  
Antiguo 10/02/2005, 01:03
 
Fecha de Ingreso: noviembre-2003
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
Mmm, tal vez esto te ayude

<?
$columnes1 = 5; # Número de columnas (variable)

for ($i=1; $row = mysql_fetch_array ($sqla); $i++) {
$id = $row ["id"];


$resto1 = ($i % $columnes1); # Número de celda del <tr> en que nos encontramos
if ($resto1 == 1) # Si es la primera celda, abrimos <tr>


echo "<tr>";

?>
<td width="XXX"><img src="TUS IMAGENES AQUI width="XX" height="XXX>
</td>
<?

if ($resto1 == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>

}

if ($resto1 <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust = $columnes1 - $resto1; # Número de huecos necesarios

for ($j = 0; $j < $ajust; $j++) {
echo "<td>&nbsp;</td>";
}
echo "</tr>"; # Cerramos la última línea </tr>
}

?>

Ojala te sirva
  #4 (permalink)  
Antiguo 10/02/2005, 05:57
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
Mira, en http://www.forosdelweb.com/f18/mostrar-datos-mysql-porfavor-ayudar-269229/ le respondi a TodoAlbo.
  #5 (permalink)  
Antiguo 10/02/2005, 07:21
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 4 meses
Puntos: 0
vale por toda la info.. ahora me pongo a leer

nos vemos
  #6 (permalink)  
Antiguo 10/02/2005, 08:58
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 4 meses
Puntos: 0
olas... aca el codigo q tengo hasta ahora

http://www.ctk.cl/byzard/jd/
Código:
<?php
	include("conec.php");
	$link=Conectarse();
	$result=mysql_query("SELECT * FROM jd",$link);


$cols = 3; //aqui defines numero de columas.
$num=mysql_num_rows($result);

$filas = floor($num / $cols); //con esto saca el resultado entero de la division.

echo "<table>;";
for ($i = 0; $i < $filas; $i++)
{
echo "<tr>";
for ($j=0; $j < $cols ; $j++)
{
$row=mysql_fetch_array($result);
if ($row["foto"] == "") //aqui estoy suponiendo que el campo foto es un texto.
{
echo "<td>&nbsp;</td>";  //esto es para que si la division no es entera los ultimos cuadrados de tu tabla donde muestras als fotos se rellenen con "nada".
}
else
{
?><TD><?
echo "<img src=".$row['foto']." height=60 width=60 border=1>";?></TD><?

border=1>"></TD>'; 
?><TD><font face="Geneva, Arial, Helvetica, sans-serif" size="1"><? echo $row["nombre"];?></TD><?
} //end del else
} //end del for con $j
echo "</tr>";
} //end del for con $i.
echo "</table>";

	mysql_close($link);
?>
la duda que tengo es que por ej ahi le puse 3 columnas, pero al mostrarme las fotos solo me muestra 6, y en realidad me deberia mostrar 8, y como podria dejar el nombre abajo para dejar mas espacio en los lados y me entren mas fotos, y no a la derecha de la foto?he tratado con los td, tr,etc pero no me sale

aca estoy probando con el codigo q sale en el FAQ, y este si muestra todos los datos, pero no me muestra las fotos, no veo donde pueda estar mal direccionado, y lo otro que no he podido dejar las letras abajo para ocupar menos espacio

http://www.ctk.cl/byzard/jd/jd/

Código:
<?php
	include("conec.php");
	$link=Conectarse();
	$result=mysql_query("SELECT * FROM jd",$link);
echo "<table align=center>"; 

$columnes = 3; # Número de columnas (variable) 

if (($rows=mysql_num_rows($result))==0) { 
  echo "<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> "; 
} else { 
  echo "<tr><td colspan=$columnes>$rows Resultados </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> 
    ?><TD><font face="Geneva, Arial, Helvetica, sans-serif" size="1"><? echo "$row[1]";?></TD><? 
	echo '<TD><img src="'.$row["foto"].'"height=70 width=70 border=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> 
} 
mysql_close($link);
echo "</table>"; 
?>

Última edición por byzard; 10/02/2005 a las 10:34
  #7 (permalink)  
Antiguo 10/02/2005, 11:21
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
te salen 6 fotos pq al usar floor se redondea hacia abajo (ie. 2.5 lo redondea a 2) entoncs quedan menos filas.

Hay dos opciones o cambiar floor por ceil (que redondea hacia arriba) o bien al primer FOR (for ($i = 0; $i < $filas; $i++) cambiarlo por

for ($i = 0; $i <= $filas; $i++)

en el fondo es lo mismo.

Ahora, para hacer lo que dices de poenr el texto abajo, despues de poner tu <img src ... > pones un <br> y de ahi el texto.

<br> es un salto de linea en html.
  #8 (permalink)  
Antiguo 10/02/2005, 12:48
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 297
Antigüedad: 14 años, 4 meses
Puntos: 0
vale ya pude dejarlo como pretendia...
http://www.ctk.cl/byzard/jd/

ahora estoy probando que la imagen al darle click aparesca esta agrandada, pero en otro frame, el que esta a la derecha, eso estuve bien los restos de los post me no encontra algo parecido... se que hay que referenciar al link, con un '<a href="' y ver si esta en la base y me imagino que una vez que se encuentra hacer que aparesca en el otro frame, en este caso llamado right.php con algun echo "<img src=".row['foto']." height=200 width=200 border=1>, u de otra forma? bueno no tengo muy claro la idea todabia de como esar eso... una ayuda seria bueno

aca esta el codigo actual
Código:
 <div align="center"><img src="images/accesories.gif" width="280" height="23">
 
  <?php
	include("conec.php");
	$link=Conectarse();
	$result=mysql_query("SELECT * FROM jd",$link);

$cols = 5; //aqui defines numero de columas.
$num=mysql_num_rows($result);

$filas = floor($num / $cols); //con esto saca el resultado entero de la division.

echo "<table>;";
for ($i = 0; $i <= $filas; $i++)

{
echo "<tr>";

for ($j=0; $j < $cols ; $j++)
{
$row=mysql_fetch_array($result);
if ($row["foto"] == "") //aqui estoy suponiendo que el campo foto es un texto.
{
echo "<td>&nbsp</td>";  //esto es para que si la division no es entera los ultimos cuadrados de tu tabla donde muestras als fotos se rellenen con "nada".
}
else
{
?>
  
</div>
<TD><div align="center"><? echo "<img src=".$row['foto']." height=60 width=60 border=1>"; ?><BR>
<font face="Geneva, Arial, Helvetica, sans-serif" size="1"> <? echo $row["nombre"]; ?></div></TD>
<div align="center">
  <?
} //end del else
} //end del for con $j
echo "</tr>";
} //end del for con $i.
echo "</table>";

	mysql_close($link);
?>	  

</div>

Última edición por byzard; 10/02/2005 a las 12:51
  #9 (permalink)  
Antiguo 11/02/2005, 05:53
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
Si, lo que dices es por donde va la cosa. Prueba y asi aprenderas :)
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 10:41.