Foros del Web » Programando para Internet » PHP »

ordenar array

Estas en el tema de ordenar array en el foro de PHP en Foros del Web. Amigos, los molesto con lo siguiente, tengo una tabla, en que cada día se ingresan datos, esta tabla tiene un campo ID autonumerico, el problema ...
  #1 (permalink)  
Antiguo 23/08/2006, 12:29
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 5 meses
Puntos: 2
ordenar array

Amigos, los molesto con lo siguiente, tengo una tabla, en que cada día se ingresan datos, esta tabla tiene un campo ID autonumerico, el problema es que desde ahora la persona podrà ingresar datos en diferentes ubicaciones dentro de los registros, para mantener el order agregue un campo id_orden, el cual a medida que ingresa un registro en la base de datos, ese campo tomará el valor de la ubicación que el usuario quiera.

lo que debo hacer y aqui donde esta el drama, es poder volver a "indexar u ordenar" el valor del campo id_orden cosa de no depender el campo ID autonumerico.

pense en crear un array pasar todos los valores, insertar el nuevo valor del idorden al final del arreglo y aumentar en 1 el valor de cada indice dentro del array, luego hacer un sort() y ordenarlo, lo que no se es como insertar un valor y luego ordenar y aumentar en uno los indices.

Hay alguna funcion en sql que permita incrementar el valor de un campo ??

Tendria este caso:

arrray= [1][2][3][4][5][6][7][8][9][10]

si ingresan un nuevo registro y quisiera ser ubicado despues del 4
o sea este nuevo registro tomaria como valor 5

arrray= [1][2][3][4][5][6][7][8][9][10][5]

aqui viene lo complicado para mi, que es decirle al 5 que se ubique donde corresponde y el actual [5] aumentarlo en 1 y asi sucesivamente para quedar
asi
arrray= [1][2][3][4][5][6][7][8][9][10][11]

No se si me explique bien, pero espero alguna sugerencia...
__________________
Exito!!
:censura:
Visita Uganet.cl
  #2 (permalink)  
Antiguo 23/08/2006, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Hay alguna funcion en sql que permita incrementar el valor de un campo ??
Literalmente como lo expones sería:

Cita:
UPDATE tabla SET campo=campo+1 WHERE id_registro='elquesea'
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/08/2006, 13:08
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 5 meses
Puntos: 2
Cluster, eso esta claro, pero mi problema o lo que no se hacer, es poder insertar un valor en el lugar escogido dentro del array y luego poder incrementa los valor del arreglo desde la posición desde donde se inserto el nuevo arreglo.
__________________
Exito!!
:censura:
Visita Uganet.cl
  #4 (permalink)  
Antiguo 23/08/2006, 13:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por GaboMaKano Ver Mensaje
Cluster, eso esta claro, pero mi problema o lo que no se hacer, es poder insertar un valor en el lugar escogido dentro del array y luego poder incrementa los valor del arreglo desde la posición desde donde se inserto el nuevo arreglo.
Si, también te entiendo .. pero la pregunta que extraje fuera tal vez de contentexto hablaba de "SQL"..

Si tu vas a trabajar con arrays ....
www.php.net/array

Revisa las funciones de arrays (que hay muchas) .. sino, a malas tendrías que ir recorriendo tu array y generando otro en paralelo e ir comparando que indice vas leyendo para ver si el próximo toca insetar el tuyo en el array nuevo o continuas duplicando indices en ambos arrays.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 23/08/2006, 13:12
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 20 años, 2 meses
Puntos: 0
mmm creneemos tu arreglo tiene x posisiones cierto?
que pasa si recorres el arreglo y asumes que arrelgo[0] es tu item menor y arreglo[1] es el item mayor tonces preguntas

Código PHP:
for (i=0i<arreglo.lengthi++) {
  if 
arreglo[i] < $var AND arreglo[i+1] > $var 
    
lo guardo 
  
}

si no no hago nada
creo que esta bien :p

saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #6 (permalink)  
Antiguo 23/08/2006, 14:22
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 5 meses
Puntos: 2
claro esa busqueda es la que hago, sucede que si encuentra la posicion debe insertarlo y "suplantar" ese valor que estaba en esa posición, y desplazar el resto (incrementar los valores)

arreglo=[1][2][3][4][5]

imagina que quiero insertar mi nuevo registro en la posicion 3, esta posicon no debo borrarla solo que ahora tomara el valor 4, la 4 el valor 5 y asi sucesivamente....
__________________
Exito!!
:censura:
Visita Uganet.cl

Última edición por GaboMaKano; 23/08/2006 a las 14:22 Razón: ortografía
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 15:31.