Foros del Web » Programando para Internet » PHP »

haciendo un ordenador de datos

Estas en el tema de haciendo un ordenador de datos en el foro de PHP en Foros del Web. Saludos, tengo algunas dudas sobre crear un ordenador de datos, a esto me refiero que hago una consulta a mysql con php me arroja todos ...
  #1 (permalink)  
Antiguo 06/10/2011, 14:29
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 19 años, 2 meses
Puntos: 49
haciendo un ordenador de datos

Saludos, tengo algunas dudas sobre crear un ordenador de datos, a esto me refiero que hago una consulta a mysql con php me arroja todos los datos ya se ordenados por id DESC o ASC por decir algo, y la idea es que el usuario en su pagina pueda ver esos registros como a el le parezcan, por que de momento los puedo ordenar por id o por fecha o por titulo, pero no entremesclados no se si se entiende.

entonces se me ocurrio agregar un campo nuevo a la base de datos llamado "orden", cada vez que ingreso un registro tomo el ultimo id con mysql_insert_id();
y lo agrego en ese campo.

mis dudas son como puedo averiguar cual es el primero y el ultimo campo?
que pasa si elimino un campo entremedio como hago con el ordenamiento, a lo mejor alguien sabe algo mejor para poder hacer esto, la verdad la idea seria hacer un ordenador tipo artículos como lo hace el joomla con las flechitas arriba abajo, y si se dan cuenta joomla discrimina el primer y ultimo registro no mostrando las fechas correspondientes para el primer y ultimo campo.

como se podría hacer esto, ideas?

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 06/10/2011, 14:39
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: haciendo un ordenador de datos

Me imagino que tu te entinedes bien tu idea, pero yo personalmente no la entiendo mucho.

Cuando hablas sobre el ordenamiento como en Joomla, tienes que saber que Joomla tiene los campos fijos, no se estan eliminando campos luego de hecho el sistema, me imagino que es por ello que sabe exactamente cuantos campos posee.

Saludos...
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 06/10/2011, 14:43
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: haciendo un ordenador de datos

mira la verdad que mucho no se entiende tu pregunta pero a ver si estoy cerca a lo que queres.

Tenes una base de datos y queres que el usuario ordene por el el campo que elija y que al mismo tiempo no salga de la pagina, algo inmediato, algo asi?
  #4 (permalink)  
Antiguo 06/10/2011, 16:04
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 19 años, 2 meses
Puntos: 49
Respuesta: haciendo un ordenador de datos

johhan16 no me acordaba de eso, creo que los desactiva claramente, siendo así ya es mas fácil, el tema se me complicaba con eliminar datos

lo que quiero lograr era algo como esto :




Ahora si desactivo el campo 4 id 4 cuando suba el 3 tratara de cambiar -1 con el 4 :/ y no subira la posicion con el campo2, pero son cosas que ya puedo ir manejando, el problema era como dije si se me eliminaban datos? entonces la pregunta es que pasa si pasa eso?


way2park : es asi, supongo que por tu pregunta me iras a proponer ajax para que se haga el cambio automatico pero eso me da lo mismo, teniendo la solucion en php el resto seria solo linkear con ajax para lograr el efecto, aunque par esto no me quita el sueño.

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 06/10/2011, 17:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: haciendo un ordenador de datos

Es sencillo, cuando eliminen un dato, selecciona el #de orden actual, luego al borrar haces un UPDATE de la tabla restandole 1 al orden donde orden sea mayor al que vas a borrar.

Solo tendrías que controlar el caso que borren el máximo (también haces una consulta para esto) y si es el máximo no necesitas restar nada.

Saludos.
  #6 (permalink)  
Antiguo 06/10/2011, 17:44
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: haciendo un ordenador de datos

Si lo vas a ordenar por el campo orden no habra problema si eliminan un campo, porque reconocera el siguiente.

al momento de hacer un cambio ejemplo

esta asi

orden 1
orden 2
orden 3
orden 4

y eliminamos orden 3 quedaria

orden 1
orden 2
orden 4

entonces esto creo que es lo que buscas hacer, que al momento de subir el orden 4 quede arriba de orden 2 y no que en cambio quede como orden 3 ya que igual quedaria abajo de orden 2.

como yo lo veo hay 2 formas de hacerlo, te lo dire de forma teorica a ver si puedes aplicarlo.

1.- en el momento que le den a eliminar un articulo tu compruebas dentro de que grupo esta y cuentas cuantos registros hay en ese grupo, luego ves en que numero de orden esta el que sera eliminado, luego haces un select del grupo ordenado por el campo orden y colocando un limit desde el campo siguiente al que se eliminara hasta el final, luego haces un recorrido de estos datos y dentro un update restandole 1 al campo orden de cada uno, al final de esto eliminas el campo que quieren elliminar y listo.

es mucho escrito pero es algo sencillo.

la forma 2 creo que es mas complicada por eso mejor ni la coloco

Edito: se me adelantaron por escribir mucho jajajajaja
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Etiquetas: haciendo, mysql, ordenador, registro, usuarios
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:44.