Foros del Web » Programando para Internet » PHP »

Re ordenar tablas

Estas en el tema de Re ordenar tablas en el foro de PHP en Foros del Web. Hola, acabo de hacer un sistema para mi pagina en el cual los usuarios pueden agregar imágenes virtuales a sus perfiles como adornos, etc. Tengo ...
  #1 (permalink)  
Antiguo 25/12/2010, 19:26
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Re ordenar tablas

Hola, acabo de hacer un sistema para mi pagina en el cual los usuarios pueden agregar imágenes virtuales a sus perfiles como adornos, etc.

Tengo las siguientes tablas
id un int con autoincrement
id_usuario - Para saber que que usuario es el pin
id_pin -Para saber el pin que agrego este usuario

Mi problema es como puedo hacer para que el usuario pueda re ordenar como se muestran los pins ya que actualmente los muestro de forma descendiente con el id, ojala y me puedan dar ideas de como hacer el re orden ya que no se me ocurre formas o al menos formas sencillas.

Alguien que pueda explicarme como se manejan las opciones de Mover Arriba como las que se utilizan en la adminsitracion de foros para re ordenarlos?

Saludos
  #2 (permalink)  
Antiguo 26/12/2010, 12:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Re ordenar tablas

eso no son tablas, con campos, y para modificar el orden de las consultas simplemente implementa el SQL ORDER BY
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 26/12/2010, 17:49
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Re ordenar tablas

Hola, gracias lo que no se es como implementar un nuevo campo para que el usuario picando le digamos a la imagen la mueva arriba y la que estaba arriba se pase en segundo lugar. Como en la adminsitracion del foro creas uno con id 4 pero quiero que este arriba del id 2, algo así.

Saludos
  #4 (permalink)  
Antiguo 26/12/2010, 18:37
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 3 meses
Puntos: 26
Respuesta: Re ordenar tablas

Código SQL:
Ver original
  1. SELECT * FROM tu_tabla ORDER BY tu_atributo_id DESC;

el ultimo registro ingresado quedara de los primeros

4
3
2
1
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #5 (permalink)  
Antiguo 26/12/2010, 19:59
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Re ordenar tablas

Si, si tengo digamos 50 ids y quiero que el numero 30 se muestre primero y despues el id 2, tendre que agregar una nueva tabla que se llame orden??? el problema seria actualizar tantos ids para cambiar el orden.
  #6 (permalink)  
Antiguo 26/12/2010, 20:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Re ordenar tablas

Cita:
Iniciado por Butters Ver Mensaje
Si, si tengo digamos 50 ids y quiero que el numero 30 se muestre primero y despues el id 2, tendre que agregar una nueva tabla que se llame orden??? el problema seria actualizar tantos ids para cambiar el orden.
así es, creo que por ahora es la única solución... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 26/12/2010, 20:44
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Re ordenar tablas

Creo que si, trabajare y les diré como me fue.
  #8 (permalink)  
Antiguo 26/12/2010, 22:05
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Re ordenar tablas

Estoy teniendo un error y espero me puedan ayudar hice este codigo

Código PHP:
$sql mysql_query("SELECT id_pin, orden FROM k_pins_usuarios WHERE id_usuario = '$id_usuario' AND id_pin = '$id_pin'") or die(mysql_error());
        
$row mysql_fetch_array($sql);
        
$id_pin2"$row[id_pin]";
        
$orden"$row[orden]";
        if(
$id_pin2 == "")
        die(
"Fuck You");
        
//Do the Magic 
        
$i=1;
        while(
$i $orden)
        {
        
$sql mysql_query("SELECT id_pin FROM k_pins_usuarios WHERE orden = '$i' AND id_usuario = '$id_usuario' ORDER BY orden DESC") or die(mysql_error());
        
$row mysql_fetch_array($sql);
        
$id_pin"$row[id_pin]";
        
$neworden $i+1;     
        echo 
"UPDATE k_pins_usuarios SET orden = '$neworden' WHERE orden = '$i' AND id_usuario = '$id_usuario' AND id_pin = '$id_pin'<br />";
        
$sql mysql_query("UPDATE k_pins_usuarios SET orden = '$neworden' WHERE orden = '$i' AND id_usuario = '$id_usuario' AND id_pin = '$id_pin'") or die(mysql_error());
        
$i++;
        }
        echo 
"<br /><br />UPDATE k_pins_usuarios SET orden = '1' WHERE id_pin = '$id_pin2' AND id_usuario = '$id_usuario'<br />";
        
$sql mysql_query("UPDATE k_pins_usuarios SET orden = '1' WHERE id_pin = '$id_pin2' AND id_usuario = '$id_usuario'") or die(mysql_error());
        echo 
"<strong>El pin que seleccionaste se mostrara primero</strong><br /><a href='editarpins.php'>Seguir Editando</a>"
El problema es que solo cambia el que seleccionas al primer lugar, todos los demás se quedan en el mismo orden:

Saludos

Última edición por Butters; 27/12/2010 a las 05:08

Etiquetas: tablas
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 06:07.