Foros del Web » Programando para Internet » PHP »

Ordenar Menus Dinamicamente

Estas en el tema de Ordenar Menus Dinamicamente en el foro de PHP en Foros del Web. Hola colegas: Necesito me den una idea de como puedo ordenar mis enlalaces mediante botones, es decir, cada enlace tiene un boton para subir y ...
  #1 (permalink)  
Antiguo 26/02/2008, 13:02
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta Ordenar mediante botones

Hola colegas:
Necesito me den una idea de como puedo ordenar mis enlalaces mediante botones, es decir, cada enlace tiene un boton para subir y otro para bajar. Lo que quiero es que si el enlace seleccionado es el segundo y le doy subir tome la primera posicion y el que estaba de primero la posicion del anterior, no se si me entiende, esto lo tiene casi todos los CMS pero no logro dar como es que se hace. De antemano mil gracias

Salu2
Reyvi
  #2 (permalink)  
Antiguo 26/02/2008, 13:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ordenar mediante botones

Usas una tabla con el orden de tus "entradas", por decir:
Código:
id, orden, entrada
1,  1,        inicio
2,  2,        downloads
3,  3,        galeria
4,  4,        contacto
Lo que haces al presionar arriba o abajo es cambiar el orden, luego al seleccionar tus items los ordenas por orden en lugar de por ID, por decir para mover galería al principio tu tabla quedaría así:
Código:
id, orden, entrada
1,  3,        inicio
2,  2,        downloads
3,  1,        galeria
4,  4,        contacto
Saludos.
  #3 (permalink)  
Antiguo 27/02/2008, 07:31
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta Ordenar Menus Dinamicamente

Hola colegas:
he probado ordenar mis menus de la forma que me dijeron, es decir al presionar arriba o abajo cambiar el orden, pero solo he logrado que el ultimo menus sea el que se mueva Ej.

El menu 7 lo muevo ampliamente para el 6 (lo que hago es le cambio los valores al campo orden). Al moverlo el que tenia orden 6 pasa a ser 7 y el que tenia orden 7 pasa a ser 6. Cuando intento nuevamente mover el 7 (antiguo 6) para el 6 (antiguo 7) no mer hace absolutamente nada. En verdad estoy frito en esto, agradeceria un ejemplo con codigo y todo . de Antemano mil gracias colegas, tirenme una ayudita ahi

Salu2
Reyvi
  #4 (permalink)  
Antiguo 27/02/2008, 07:43
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: Ordenar Menus Dinamicamente

lom siento pero no se bien de que va el tema sin ver unas lineas de codigo no me entero de lo que quieres
  #5 (permalink)  
Antiguo 27/02/2008, 07:49
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
De acuerdo Re: Ordenar Menus Dinamicamente

Cita:
Iniciado por jaronu Ver Mensaje
lom siento pero no se bien de que va el tema sin ver unas lineas de codigo no me entero de lo que quieres
Lo que quiero es ordenar mis menus mediante botones, como muchos cms los tienen, mira yo tengo una tabla en la bd que cuenta con los siguientes campos

id, orden, menu

tengo los siguientes datos

Orden - Menu
1 Bicicleta Subir Bajar
2 PHP Subir Bajar
3 MySQL Subir Bajar

Lo quu quiero hacer es que cada vez que yo seleccione subir o bajar estos me cambien el orden, esto lo tienen muchos CMS, pero nunbca le he logrado encontrar el code. Gracias
Reyvi
  #6 (permalink)  
Antiguo 27/02/2008, 07:55
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: Ordenar Menus Dinamicamente

realmente que no mse que es lo que quieres,

para hacer una cosa asi, si es lo que me imagino, por cada boton, para que ordene, deberias de hacer un query a la base de datos, indicando en el query como quieres que se muestre el orden de los botones.

Prueba con Jommla, ducen que es un gestor de contenidos cms muy bueno y casi no hace falta saber programar.
  #7 (permalink)  
Antiguo 27/02/2008, 08:02
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Re: Ordenar Menus Dinamicamente

Cita:
Iniciado por jaronu Ver Mensaje
realmente que no mse que es lo que quieres,

para hacer una cosa asi, si es lo que me imagino, por cada boton, para que ordene, deberias de hacer un query a la base de datos, indicando en el query como quieres que se muestre el orden de los botones.

Prueba con Jommla, ducen que es un gestor de contenidos cms muy bueno y casi no hace falta saber programar.
Mano ahi esta el asunto que yo estoy haciendo mi propia aplicacion
  #8 (permalink)  
Antiguo 27/02/2008, 08:07
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: Ordenar Menus Dinamicamente

pues en el boton subir usa un query para que te lo ordene ascendente
y en el boton bajar otro query que te lo ordene de forma descendente,
  #9 (permalink)  
Antiguo 27/02/2008, 08:12
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: Ordenar Menus Dinamicamente

man eso lo logras mas rapidamente con ajax... tu lo q quieres es q en el admin puedas ordenar las posiciones de tus botones sin necesidad de recurrir al codigo cierto?
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #10 (permalink)  
Antiguo 27/02/2008, 08:16
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
De acuerdo Re: Ordenar Menus Dinamicamente

Cita:
Iniciado por T4ke0veR Ver Mensaje
man eso lo logras mas rapidamente con ajax... tu lo q quieres es q en el admin puedas ordenar las posiciones de tus botones sin necesidad de recurrir al codigo cierto?
Si al estilo CMS que los link se ordenan mediante botoncitos de arriba y abajo, pero

??????? Cómo lo hago????????????????
  #11 (permalink)  
Antiguo 27/02/2008, 08:35
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: Ordenar Menus Dinamicamente

no sabria decirte como se hace pues tambien soy un aprendiz...
pero bajate este tutorial q habla en uno de sus temas de ordenar items por jerarquia con ajax y php

http://www.assembla.com/spaces/kumbi...lDkbG/download

Saludos y espero t sirva!!!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #12 (permalink)  
Antiguo 27/02/2008, 09:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ordenar Menus Dinamicamente

Temas unidos.

Por favor no dupliques temas.
  #13 (permalink)  
Antiguo 28/02/2008, 08:13
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: Ordenar Menus Dinamicamente

hola compatriota, como va todo, he estado cocinando la manera de hacer eso mismo que quieres, pues en un trabajo que estoy ya a punto de terminar el cliente me pidio esa opcion.

no te puedo pasar codigo ahora, por que no he hecho nada aun, pero en si, me parece que lo que hay que hacer es una consulta a la BD con un UPDATE al campo orden, pero a dos registros a la vez.

por ej, tienes:
Cita:
id, orden, entrada
1, 1, inicio
2, 2, downloads
3, 3, galeria
4, 4, contacto
y quieres que el registro galeria suba, debes hacer UPDATE en el campo orden de galeria y download, creo que seria algo asi:
Código PHP:
$sql "UPDATE tabla SET galeria = '3 - 1' AND download = '2 + 1'" 
mas o menos asi, donde los valores de los campo los pasas por variables y si lo que quieres es subir o bajar un registro, tambien lo pasas por una variable vie GET (si usas vinculos) y ordenas la query dependiendo de esto.

repito, ahora mismo no tengo nada de codigo, por eso no lo pongo, pero creo que debe ser algo asi, esta debe ser la idea general de lo que debes hacer.

espero te sirva.

saludos y suerte y viva cuba libre, jajaja
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #14 (permalink)  
Antiguo 28/02/2008, 09:11
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
De acuerdo Re: Ordenar Menus Dinamicamente

Código PHP:
$sql "UPDATE tabla SET galeria = '3 - 1' AND download = '2 + 1'" 
Mano Recuerda que galeria y download son valores dentro de una tabla no campos de la misma y simplemente hacemos un UPDATE mediante una condición WHERE

Salu2
reyvi
  #15 (permalink)  
Antiguo 28/02/2008, 09:53
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: Ordenar Menus Dinamicamente

Cita:
Iniciado por reyvi Ver Mensaje
Código PHP:
$sql "UPDATE tabla SET galeria = '3 - 1' AND download = '2 + 1'" 
Mano Recuerda que galeria y download son valores dentro de una tabla no campos de la misma y simplemente hacemos un UPDATE mediante una condición WHERE

Salu2
reyvi
Oops...! verdad .

de todos modos espero te llevaras la idea, ahora mirando creo que habria que hacer 2 UPDATE en lugar de uno, o.... tal vez con uno solo se pueda???

el caso es que debes saber cual es el registro anterior o siguiente (dependiendo de lo que quieras hacer, subir o bajar) y hacer un UPDATE a ese tambien.

tal vez este fin me ponga a trabajar en el asunto y si tengo resultados, los pongo aqui.

en cualquier caso, nos vemos aqui.

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #16 (permalink)  
Antiguo 28/02/2008, 10:01
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta Re: Ordenar Menus Dinamicamente

Si, de lo que si estoy seguro es que hay que hacer 2 updates, pues debemos actualizar dos campos, uno para que tome el valor del otro y viceversa.

ueno, metele mano tu a ver que puedes hacer, yo estoy frito:neurot ico

aja aja aj
Salu2
reyvi
  #17 (permalink)  
Antiguo 04/03/2008, 09:11
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: Ordenar Menus Dinamicamente

hola, adelante algo, aqui dejo el codigo que hice:
Código PHP:
<?php
include("conect.php");

// subir las opciones del menu
if(isset($_GET['act']) && $_GET['act'] == 'subir'){
    
$id $_GET['id'];
    
$ordenSubir $_GET['orden'] - 1;
    
$ordenBajar $_GET['orden'] + 1;
    
    
$update_1 mysql_query("UPDATE tabla SET orden = '$ordenSubir'
                             WHERE id = '$id'"
$db_link)
                             or die(
mysql_error());
    
$update_2 mysql_query("UPDATE tabla SET orden = '$ordenBajar'
                             WHERE orden = '$ordenBajar'"
$db_link)
                             or die(
mysql_error());
}

// bajar las opciones del menu
if(isset($_GET['act']) && $_GET['act'] == 'bajar'){
    
$id $_GET['id'];
    
$ordenSubir $_GET['orden'] - 1;
    
$ordenBajar $_GET['orden'] + 1;
    
    
$update_1 mysql_query("UPDATE tabla SET orden = '$ordenBajar'
                             WHERE id = '$id'"
$db_link)
                             or die(
mysql_error());
    
$update_2 mysql_query("UPDATE tabla SET orden = '$ordenSubir'
                             WHERE orden = '$ordenSubir'"
$db_link)
                             or die(
mysql_error());
}

$query mysql_query("SELECT * FROM tabla ORDER BY orden"$db_link) or die(mysql_error());
while(
$row mysql_fetch_array($query)){
    echo 
$row['dato']." - 
    <a href='updown.php?act=subir&amp;id=$row[id]&amp;orden=$row[orden]'>subir</a> | 
    <a href='updown.php?act=bajar&amp;id=$row[id]&amp;orden=$row[orden]'>bajar</a>"
;
}
?>
me falto por arreglar que no se muestre subir en la primera opcion de arriba y no se muestre bajar en la ultima de abajo

pruebalo a ver, ahora no recuerdo si tenia algo mas, es que lo termine el domingo en la noche bien tarde y ayer tuve lios en la family y no recuerdo si tenia algo mal

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
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 11:52.