Foros del Web » Programando para Internet » PHP »

Modificar el orden en que se ven las imagenes (aporte)

Estas en el tema de Modificar el orden en que se ven las imagenes (aporte) en el foro de PHP en Foros del Web. Buenas, esto sirve para cambiar el orden en que se muetran una serie de imagenes, se logra cambiando la id de una por la de ...
  #1 (permalink)  
Antiguo 31/10/2011, 00:39
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 9 años, 4 meses
Puntos: 55
Modificar el orden en que se ven las imagenes (aporte)

Buenas, esto sirve para cambiar el orden en que se muetran una serie de imagenes, se logra cambiando la id de una por la de la de al lado, y la de esa por la de la otra, espero que les sirva y si ven que se puede mejorar (seguro que si) dejen un comentario.

Son dos archivos: ver-imagenes.php y mover-imagenes.php, tambien tenemos que crear una tabla en la bd llamada imagenes con los campos id, imagen; en imagen ponemos la ruta en donde esta guardada la imagen, le falta el form y algunos divs y estilos par darle forma.

ver-imagenes.php


//primero seleccionamos las id de las imagenes y creamos una variable para cada una
$aaa=1;
$sentencia = "SELECT id FROM imagenes ORDER by id asc";
$imagenes = mysql_query($sentencia) or die("Error al tratar de ver la imagen". mysql_error());
while ($imag = mysql_fetch_object($imagenes)){
$ccc=$imag->id;
$var[$aaa]="$ccc";//creamos la variable $var1, $var2, $var3.........etc
$aaa=$aaa+1;//aumentamos el valor de $aaa en 1
}
//---------------------
//ahora mostramos las imagenes en cuestion y los enlaces con las flechas para mover a la derecha o a la izquierda
$aa=1;
$sentencia="SELECT * FROM imagenes ORDER by id asc";
$result=mysql_query ($sentencia)or die ("Error al ver las imagenes". mysql_error());
while($ima = mysql_fetch_object($result)){
$vermisfotos=$ima->imagen;//ruta de la imagen
$zz=$ima->id;
$a1=$aa-1;
$zza=$var[$a1];//aca recuperamos el valor de las variables de mas arriba menos uno, si es cero no mostrara el enlace para moverla
$a2=$aa+1;
$zzs=$var[$a2];//aca recuperamos el valor de las variables de mas arriba mas uno, si es cero (porque no existe) no mostrara el enlace para moverla
echo"<img src='$vermisfotos' width=100px height=100px border=0><br/>";
//si algun valor es igual a cero, no muestra el enlace para mover la imagen par ese lado
if($zza){echo"<a href='mover-imagenes.php?id=".$zz."&idm=".$zza."'><img src='objetos/flecha-izq.jpg' title='MOVER HACIA LA IZQUIERDA' width=25px height=25px border=0></a>";
}else{echo"";}
if($zzs){
echo"<a href='mover-imagenes.php?id=".$zz."&idm=".$zzs."'><img src='objetos/flecha-der.jpg' title='MOVER HACIA LA DERECHA' width=25px height=25px border=0></a>";
}else{echo"";}
$aa=$aa+1;//aumentamos $aa en 1
}//fin while
  #2 (permalink)  
Antiguo 31/10/2011, 00:46
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 9 años, 4 meses
Puntos: 55
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Y ahora el archivo que las mueve
mover-imagenes.php

mover-imagenes.php
//id de la imagen a mover
$id=$_GET['id'];
//id de la imagen que esta a la izq o derecha de la anterior (segun se quiera)
$idm=$_GET['idm'];
//cambiar la id de la imagen a mover, a cero (0)
$sql = "UPDATE abcde_imagenes SET id = 0 WHERE id=".$id."; ";
mysql_query($sql);
//cambiar la id de la imagen que estaba antes o despeues de la imagene a mover,
//al valor de la id de la imagen a la que se le puso id = cero(0)
$sql = "UPDATE abcde_imagenes SET id = ".$id." WHERE id=".$idm."; ";
mysql_query($sql);
//y por ultimo cambiamos la id que antes pusimos a cero,
//por la id de la que estaba antes o despues de la primera
$sql = "UPDATE abcde_imagenes SET id = ".$idm." WHERE id=0 ";
mysql_query($sql);
//y ahora volvemos para ver el resultado del cambio
?>
<script>
location.replace('ver-imagenes.php?');
</script>

ya con eso funciona, pueden verlo aca http://www.avionesenguerra.com.ar/mo...r-imagenes.php
espero sus comentarios, gracias.
  #3 (permalink)  
Antiguo 31/10/2011, 01:07
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 2 meses
Puntos: 793
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Voy a colorear el código para que otros lo puedan revisar. Por cierto muy interesante tu aporte, seguro a más de uno le va a dar buenas ideas. Saludos.

ver-imagenes.php

Código PHP:
Ver original
  1. <?php
  2. //primero seleccionamos las id de las imagenes y creamos una variable para cada una
  3. $aaa = 1;
  4. $sentencia = "SELECT id FROM imagenes ORDER by id asc";
  5. $imagenes = mysql_query($sentencia) or die("Error al tratar de ver la imagen" . mysql_error());
  6. while ($imag = mysql_fetch_object($imagenes)) {
  7.     $ccc = $imag->id;
  8.     $var[$aaa] = "$ccc"; //creamos la variable $var1, $var2, $var3.........etc
  9.     $aaa = $aaa + 1; //aumentamos el valor de $aaa en 1
  10. }
  11. //---------------------
  12. //ahora mostramos las imagenes en cuestion y los enlaces con las flechas para mover a la derecha o a la izquierda
  13. $aa = 1;
  14. $sentencia = "SELECT * FROM imagenes ORDER by id asc";
  15. $result = mysql_query($sentencia) or die("Error al ver las imagenes" . mysql_error());
  16. while ($ima = mysql_fetch_object($result)) {
  17.     $vermisfotos = $ima->imagen; //ruta de la imagen
  18.     $zz = $ima->id;
  19.     $a1 = $aa - 1;
  20.     $zza = $var[$a1]; //aca recuperamos el valor de las variables de mas arriba menos uno, si es cero no mostrara el enlace para moverla
  21.     $a2 = $aa + 1;
  22.     $zzs = $var[$a2]; //aca recuperamos el valor de las variables de mas arriba mas uno, si es cero (porque no existe) no mostrara el enlace para moverla
  23.     echo "<img src='$vermisfotos' width=100px height=100px border=0><br/>";
  24.     //si algun valor es igual a cero, no muestra el enlace para mover la imagen par ese lado
  25.     if ($zza) {
  26.         echo "<a href='mover-imagenes.php?id=" . $zz . "&idm=" . $zza .
  27.          "'><img src='objetos/flecha-izq.jpg' title='MOVER HACIA LA IZQUIERDA' width=25px height=25px border=0></a>";
  28.     } else {
  29.         echo "";
  30.     }
  31.     if ($zzs) {
  32.         echo "<a href='mover-imagenes.php?id=" . $zz . "&idm=" . $zzs .
  33.          "'><img src='objetos/flecha-der.jpg' title='MOVER HACIA LA DERECHA' width=25px height=25px border=0></a>";
  34.     } else {
  35.         echo "";
  36.     }
  37.     $aa = $aa + 1; //aumentamos $aa en 1
  38. }//fin while
  39. ?>

mover-imagenes.php

Código PHP:
Ver original
  1. <?php
  2. //id de la imagen a mover
  3. $id=$_GET['id'];
  4. //id de la imagen que esta a la izq o derecha de la anterior (segun se quiera)
  5. $idm=$_GET['idm'];
  6. //cambiar la id de la imagen a mover, a cero (0)
  7. $sql = "UPDATE abcde_imagenes SET id = 0 WHERE id=".$id."; ";
  8. //cambiar la id de la imagen que estaba antes o despeues de la imagene a mover,
  9. //al valor de la id de la imagen a la que se le puso id = cero(0)
  10. $sql = "UPDATE abcde_imagenes SET id = ".$id." WHERE id=".$idm."; ";
  11. //y por ultimo cambiamos la id que antes pusimos a cero,
  12. //por la id de la que estaba antes o despues de la primera
  13. $sql = "UPDATE abcde_imagenes SET id = ".$idm." WHERE id=0 ";
  14. //y ahora volvemos para ver el resultado del cambio
  15. ?>
  16. <script>
  17. location.replace('ver-imagenes.php?');
  18. </script>

http://www.avionesenguerra.com.ar/mo...r-imagenes.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 06/11/2011, 13:16
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 9 años, 4 meses
Puntos: 55
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Muchas gracias, tambien se puede usar para cambiar el orden en que se ven las categorias de un foro o algo asi, espero que lo encuentren util.
  #5 (permalink)  
Antiguo 06/11/2011, 15:03
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 7 años, 11 meses
Puntos: 1
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Me gustaria hacer algo como esto pero que el usuario pueda seleccionar la imagen con el mouse y arrastrarla hasta el lugar donde quiere que quede... seria con jquery, conocen algun script que ya este hecho como para implementarlo?
  #6 (permalink)  
Antiguo 06/11/2011, 17:03
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 10 años, 8 meses
Puntos: 89
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Huy que copado te pasaste waldragon.
Les tiro una idea de uso...
Supongamos que tenemos una lista de amigos (chat,foro,pagina,etc..) y con esta herramienta le podemos dar un orde de preoridad para verlos, como rango o como en algunos Juegos Online promover amigo, degradar amigo.
__________________
Mono programando!
twitter.com/eguimariano
  #7 (permalink)  
Antiguo 07/11/2011, 18:16
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 9 años, 4 meses
Puntos: 55
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Muchas gracias por el voto positivo sirduque, muy buena tu idea, pero tendrias que crear otra tabla como amigos, y ahi si cada usuario podria darle un orden quienes agregue como amigos, saludos.
  #8 (permalink)  
Antiguo 26/04/2012, 07:01
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.198
Antigüedad: 8 años, 5 meses
Puntos: 10
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

muy buen aporte waldragon solo queria felicitarte, saludos.
  #9 (permalink)  
Antiguo 27/04/2012, 13:35
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 9 años, 4 meses
Puntos: 55
Respuesta: Modificar el orden en que se ven las imagenes (aporte)

Cita:
Iniciado por pithon Ver Mensaje
muy buen aporte waldragon solo queria felicitarte, saludos.
Muchas gracias, espero que te haya servido para tus proyectos, saludos.

Etiquetas: imagenes, modificar, mysql, orden, sql, tabla, ven, variables
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

SíEste tema le ha gustado a 5 personas




La zona horaria es GMT -6. Ahora son las 16:02.