Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/10/2011, 19:28
apustilnik
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 14 años, 7 meses
Puntos: 6
Respuesta: Encolumnar resultados en forma sencilla

el problema no es la sesion, ya encontre el problema, pero no detecto como resolverlo, el problema es el siguiente

aqui el codigo:

c_member= "select * from club_miembros where identificador= '".$id."' order by rand() limit 10";
$r_member= mysql_query($c_member) or die (mysql_error());
$n_member= mysql_num_rows($r_member);

$columnas= 4;
$filas= $n_member;

function redimensionar_miembros($ruta,$ancho,$alto){
$ancho= 40;
$alto= 40;

//$imagen= $_FILES['file']['name'];
$ruta= $_SESSION['imagen2'];
//$ruta= "IMAGENES/".$imagen;
/*$dim[0]= 100;
$dim[1]= 100;*/
//Obtenemos las dimensiones, la ruta es absoluta.
$dim = getimagesize($ruta);
/*getimagesize() pasa un array a la variable
$dim tal que $dim[0] contiene el ancho de la imagen
y dim[1] contiene el alto.*/
if($dim[1]){
//Para asegurarnos de que dim[1] es diferente de cero
$cociente = $dim[0] / $dim[1];
}
if($alto){
//Para asegurarnos de que alto es diferente de cero
$coc_max = $ancho / $alto;
}

if(($dim[0]<=$ancho)&&($dim[1]<=$alto)){
/*En este caso no pasa nada y
la imagen se imprime con su tama&ntilde;o original*/
$ancho = $dim[0];
$alto = $dim[1];
}else{
if($cociente>=$coc_max){
/*En este caso el factor m&aacute;s restrictivo
va a ser el ancho de la foto*/
$alto = $ancho / $cociente;
}else{
/*En este caso el factor restrictivo
va a ser la altura de la foto*/
$ancho = $alto * $cociente;
}
}
echo "<img src='$ruta' width='$ancho' height='$alto' align=top>";

}


Código PHP:
Ver original
  1. echo "<table width=234px border=1 cellspacing=3 cellpadding=0 >";
  2. for ($fila=0;$fila<$n_member;$fila++) //el problema es que por ejmplo si hay solo dos registros en la base, y el limite de columnas es 4, me estara creando dos filas de tabla, para lo cual en la segunda fila no habra hipoteticamente nada, por eso me da error en la funcion redimensionar pero no encuentro como resolverlo
  3. {
  4. echo "<tr>";
  5. for ($columna=0;$columna<$n_member;$columna++)
  6. {
  7. $row= mysql_fetch_array($r_member);
  8. $usuario= ($row['usuario']);
  9. $imagen2= $row['imagen'];
  10. $_SESSION['imagen2'] = $imagen2;
  11. $ruta= $_SESSION['imagen2'];
  12.  
  13. echo "<td>";
  14. echo redimensionar_miembros($ruta,$ancho,$alto);
  15. echo "</td>";
  16.  
  17. }
  18. echo "</tr>";
  19. }
  20. echo "</table>";

//el problema es que por ejmplo si hay solo dos registros en la base, y el limite de columnas es 4, me estara creando dos filas de tabla, para lo cual en la segunda fila no habra hipoteticamente nada, por eso me da error en la funcion redimensionar pero no encuentro como resolverlo0.{