Estoy haciendo un sitio en donde los usuarios tendran la posibilidad de subir imagenes, y se me ocurrio que seria bueno que pudieran moverlas entre si, para ordenarlas a su gusto al mostrarlas, por eso hice este modesto script para lograrlo.
Los siguientes archivos sirven para mostrar las fotos (ver-imagenes.php) y moverlas (mover-imagenes.php)
Y hay que crear la tabla imagenes con los campos id, imagen (donde se guarda la ruta de la imagen)
ver-imagenes.php
Los siguientes archivos sirven para mostrar las fotos (ver-imagenes.php) y moverlas (mover-imagenes.php)
Y hay que crear la tabla imagenes con los campos id, imagen (donde se guarda la ruta de la imagen)
ver-imagenes.php
//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
//faltan unos divs y unos estilos a su gusto//mover-imagenes.php
//Ahora el archivo que las mueve
//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>Tambien puede usarse para mover otros resultados sacados de una base de datos, lo subi a mi web para que puedan ver como funciona http://www.avionesenguerra.com.ar/mover/ver-imagenes.php , bueno eso es todo, espero que les sirva, saludos.