Foros del Web » Programando para Internet » PHP »

Impresion de fotos

Estas en el tema de Impresion de fotos en el foro de PHP en Foros del Web. Buenas a todos amigos, me gustaria saber como puedo hacer para que me imprima de dos fotos en dos fotos, de manera que quede fila ...
  #1 (permalink)  
Antiguo 02/03/2007, 20:09
 
Fecha de Ingreso: diciembre-2005
Mensajes: 16
Antigüedad: 18 años, 11 meses
Puntos: 0
Pregunta Impresion de fotos

Buenas a todos amigos, me gustaria saber como puedo hacer para que me imprima de dos fotos en dos fotos, de manera que quede fila dos fotos, fila las siguientes dos fotos.. etc.
<table>
<tr>
<td>foto</td><td>foto</td>]
<td>foto</td><td>foto</td>
..........
</tr>
</table>
Este es el codigo que tengo, pero me imprime nomas una foto por fila, y no logro hacer que me imprima dos fotos por fila.

Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
        body { font-family: arial; font-size:12px}
</style>
<SCRIPT language="javascript" type="text/javascript">
<!--
function SmallWindow(wintype) {
SmallWin=window.open(wintype,"SmallWin","toolbar=no,directories=no,status=no, scrollbars=no,menubar=no,width=800,height=800"); SmallWin.window.focus()
}

</SCRIPT>
</head>
<body>
<?php
        
include("conex.php");
        
$link=Conectarse();
        
$result=mysql_query("select * from fotos",$link);
        
?>
<?php
        $visible 
1;
        
$db link;
        
$registros 4;

if (!
$pagina) {
    
$inicio 0;
    
$pagina 1;
}
else {
    
$inicio = ($pagina 1) * $registros;
}


?>
<table width="75%"  border="1" align="center" cellspacing="0" cellpadding="0">
<?
        $resultados 
mysql_query("SELECT id FROM fotos WHERE visible = 1");
        
$total_registros mysql_num_rows($resultados);
        
$resultados mysql_query("SELECT * FROM fotos WHERE visible = 1 ORDER BY id DESC LIMIT $inicio, $registros");
        
$total_paginas ceil($total_registros $registros);
        if(
$total_registros) {

                while(
$row=mysql_fetch_array($resultados)) {
                        echo 
"<tr><td><center><a href=\"javascript:SmallWindow('Clicks.php?url=info.php?name=$row[nombre]')\"><img src=images/thumb.".$row["nombre"]." border=\"0\"><br></a>";
                        echo 
"<font color='#666666'>".$row["descripcion"]."</font><br>";
                        echo 
"<font color='#666666'>".$row["nombre"]."</font><br>";
                        echo 
"<font color='#666666'>".$row["tamaño"]." Bytes</font><br>";
                        echo 
"<font color='#666666'>".$row["clicks"]." Veces Vista</font></center></td></tr>";
                }

        } else {
                echo 
"<font color='darkgray'>(sin resultados)</font>";
        }

        
mysql_free_result($resultados);
                echo 
"</table><br><br>";

        if(
$total_registros) {

                echo 
"<center>";

                if((
$pagina 1) > 0) {
                        echo 
"<a href='index.php?pagina=".($pagina-1)."'>< Anterior</a> ";
                }

                for (
$i=1$i<=$total_paginas$i++){
                        if (
$pagina == $i)
                                echo 
"<b>".$pagina."</b> ";
                        else
                                echo 
"<a href='index.php?pagina=$i'>$i</a> ";
                }

                if((
$pagina 1)<=$total_paginas) {
                        echo 
" <a href='index.php?pagina=".($pagina+1)."'>Siguiente ></a>";
                }

                echo 
"</center>";

        }
                
mysql_close($link);
?>
        </body>
</html>
Espero que me puedan ayudar.
Cualquier comentario es bienvenido. Gracias.
  #2 (permalink)  
Antiguo 03/03/2007, 07:53
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 18 años
Puntos: 1
Re: Impresion de fotos

Imprime todas las fotos?Aunque sea una por fila.
Puede ser que las fotos sean demasiado grandes y no quepan dos por fila y automáticamente te la ponga abajo.
  #3 (permalink)  
Antiguo 03/03/2007, 13:41
 
Fecha de Ingreso: diciembre-2005
Mensajes: 16
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Impresion de fotos

Eso que comentas no es asi, porque si te das cuenta te imprime una thumb.".$row["nombre"]." de cada imagen y si de hecho me imprime 4 fotos por pagina $registros = 4;, y pues no e logrado hacer que me imprima de dos fotos por fila como comente en mi primer post.

Bueno aqui les dejo un link donde pueden ver el sistema y en si como me imprime las imagenes 1 por fila.

h**p://lethaniaro.myinfo.ws/phpgd/

Espero y me puedan ayudar.
  #4 (permalink)  
Antiguo 08/03/2007, 02:40
 
Fecha de Ingreso: diciembre-2005
Mensajes: 16
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Impresion de fotos

Buenas disculpen mi doble post, pero la verdad si me gustaria saber si alguien tiene respuesta al mi post, porque la verdad no e logrado encontrar respuesta, cualquier aporacion es bienvenida.

NOTA: disculpen el doble post de nuevo.
  #5 (permalink)  
Antiguo 08/03/2007, 03:58
 
Fecha de Ingreso: marzo-2007
Mensajes: 78
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Impresion de fotos

Hola zenky_1,

Según tienes el código del while, es normal que te muestre sólo una foto por fila, ya que cada vez que vas a mostrar una foto habres y cierras una fila

Código PHP:
   while($row=mysql_fetch_array($resultados)) {
      echo 
"<TR><td><center><a href=\"
... </center></td></TR>"

                } 
Deberías inicializar un contador fuera del while a cero, que nos permita saber cuándo hay que empezar o terminar la fila, y luego poner:

Código PHP:
while($row=mysql_fetch_array($resultados)) {
   if (
$cont%== 0) echo "<tr>";
   echo 
"<td><center><a href=\"javascript:SmallWindow('Clicks.php?url=info.php?name=$row[nombre]')\"><img src=images/thumb.".$row["nombre"]." border=\"0\"><br></a>"
                        echo 
"<font color='#666666'>".$row["descripcion"]."</font><br>"
                        echo 
"<font color='#666666'>".$row["nombre"]."</font><br>"
                        echo 
"<font color='#666666'>".$row["tamaño"]." Bytes</font><br>"
                        echo 
"<font color='#666666'>".$row["clicks"]." Veces Vista</font></center></td>"
if (
$cont%== 1) echo "</tr>";
$cont++;

Fuera del while, debes controlar que no se haya quedado una fila a medio, si por ejemplo el número de fotos son impares, puedes hacerlo así:

if ($cont%2 == 1) echo "<td>&nbsp;</td></tr>";

Espero haberte ayudado. Suerte
  #6 (permalink)  
Antiguo 08/03/2007, 21:45
 
Fecha de Ingreso: diciembre-2005
Mensajes: 16
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Impresion de fotos

Muchas gracias amigo IngProd funciona todo bien sin la ultima linea que comentas, y pues la verdad tengo una duda que si en realidad es muy necesaria, o si no la pongo no hay problema????

---------------------------------------------------------------------
Fuera del while, debes controlar que no se haya quedado una fila a medio, si por ejemplo el número de fotos son impares, puedes hacerlo así:

if ($cont%2 == 1) echo "<td>&nbsp;</td></tr>";
---------------------------------------------------------------------
  #7 (permalink)  
Antiguo 13/03/2007, 12:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 78
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Impresion de fotos

Bueno, puede que si el número de fotos es impar, al final te quede algo así:

...
<tr><td>----</td>
</table>

Por eso, la última línea se encarga de que si es impar, poner una celda vacía y cerrar la fila. Hay casos en los que aunque el número sea impar no lo vas a notar, todo depende del diseño... Igual si usas más tablas pueden aparecer cosas extrañas.
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 14:08.