Foros del Web » Programando para Internet » PHP »

ordenar registros segun inserccion

Estas en el tema de ordenar registros segun inserccion en el foro de PHP en Foros del Web. Hola amigos tengo un gran problema les cuento; En una web muestro unos testimonios que descargan de una data. Al insertar desde luego que el ...
  #1 (permalink)  
Antiguo 16/07/2007, 17:13
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 21 años, 2 meses
Puntos: 0
ordenar registros segun inserccion

Hola amigos tengo un gran problema les cuento;

En una web muestro unos testimonios que descargan de una data.

Al insertar desde luego que el indice auto_increment me genera el numero correlativo.

1
2
3
4
5

Ahi estamos suponiendo que tengo 5 testimonios insertados en la data, y los muestro normal con select order by.

El problema esta cuando quieren ordenar algunos testimonios por ejemplo que el testimonio 1 este entre el 4 y 5, o por ejemplo me dan 10 testimonios para ingresar los ingreso pero em dicen luego sabes que esos 10 testimonios debes metermlo apartir del tesmimonio 3 y asi es el juego.


Lo que hise a principio es crear un campo num_order que era un campo donde le asignaba un numero a cada testimonio y asi podia moverlo pero lo que pasa ahora es la cantidad de testimonios que tengo que ingresar ahora tengo 150 testimonios y veces me dicen ingresa esos 5 testimonios apartir del testimonio 40.


40
41
42
43
44
45

entonces lo que hago es correrlos uno por uno es una gran perdida de tiempo.

Me deje entender?

Si alguien puede ayudarme con esto en como darle solucion al momento de actulizar mis testimonios.

Les estare bien agradecidos
  #2 (permalink)  
Antiguo 17/07/2007, 02:08
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 1 mes
Puntos: 41
Re: ordenar registros segun inserccion

La verdad, no creo haber entendido del todo. ¿Y si usas manzanas en lugar de testimonios? :p

A ver...
Si tienes un campo num_order y quieres insertar registros en medio no necesitas correr uno por uno. Puedes utilizar una sentencia como
Código PHP:
$inicio 40;
$cantidad 5;
$sql "UPDATE tabla SET num_order = num_order+$cantidad WHERE num_order >= $inicio"
Saludos,
  #3 (permalink)  
Antiguo 17/07/2007, 09:49
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: ordenar registros segun inserccion

Gracias por responder amigo, quizas mostrandote el ejemplo me entiendas un poco mas.

http://www.peruforless.com/testimoni...stimonials.php

Estos son los testimonios que muestro, pero pasa que a veces tengo que moverlos por ejemplo el primer testimonio que ves horita me dicen que lo mueva al final, supongamos q hay 100 testimonios cosa que es cierto entonces tenemos esto:


1
2
3
4
5
..............
100

quizas para mandarlo al final le pudiera asignar el numero 101 y facil se al final pero como que no es lo correcto.
Pero un problema mas dificil seria que por ejemplo apartir del testimonio 20 ingrese 10 testimonios ahi se me complica la cosa porque tengo que empezar a ordenar de formal manual ese campo num_order y se me demoro mucho.

Quisiera alguna forma como solucionar este problema

Gracias sinceramente por su ayuda
  #4 (permalink)  
Antiguo 17/07/2007, 10:26
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 74
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: ordenar registros segun inserccion

Pues si que esta medio complicado, pero haber, dejame ver si entendi.

dices que tu tines un campo id_testimonio, es obvio va ordenado de 1 hasta N

Pero de repente te dicen, quiero ver todos los testimonios pero que aparezca primero el id_testimonio 10 al 20, despues todos los demas.

Al dia siguiente, el jefe llega de mal humor y por fastidiarte te dice, quiero que me muestras los testimonios 50 al 75 pero primero quiero los testimosnios 1 al 3 y despues todos los demas

No pues si es asi, tu jefe la trae contigo, jejejejejeje

Mira, la onda es la siguiente, por medio de una consulta estaria medio complicado.

Yo te sugiero lo siguiente, crea un campo que se llame por ejemplo ordena

Crea un php donde muestres el id_testimonio, el titulo (esto del titulo es para saber mas o menos de que se trata el testimonio), y un check box

Este check box te va a tener el id_testimonio

crea una funciona en javascript que mande a llamar un php, el java lo que hara es lo siguiente

deberas tener un campo oculto que se llame incremento (o algo por el estilo), al principio valdra cero, cuando hagas clic en el check te vas al java, preguntas, cuanto vale incremento y le sumas 1, el check debe llevar el id_test, y te llevas esos valores a un php, en el php lo que haces es leer el id_test, y pones en el campo ordena el valor del incremento. y asi haces por cada unos de los testimoniso que quieres ordenar, es decir, si quieres ordenar el 1 al 3 y luego del 10 al 20 entonces deberas hacer click primero en el 1, 2, 3, despues te pasas al 10, 11, 12... hasta el 20, los demas los dejas en blanco.

Cuando abras la pagina donde muestras tus testimonios lo ordenas por el campo ordena, te lo va a ordenar segun el orden que pusiste y los que estan en blanco te los pone despues de los ordenados.

Siempe que entres a la pagina donde estan los checbox tendras que hacer UPDATe a tu tabla de testimonios poniendo el campo orden en blanco.

La onda es la siguiente

el java debera tener algo como esto

function ordenacion(id_testimonio)
{
i = documento.nombre_form.incremento.value;
i++;
window.open("pagina.php?id_testimonio='+id_testimo nio+'&ordena='+i+'","nuevo","valoreswindow");
}

el check debera tener algo como esto

<input type..... onclick="ordenacion(<?echo"tabla[id_testimonio]";?>)"

el php debera ser similiar a

ordena = $_request[ordena];
id = $_request[id_testimonio];

UPDATE nombretabla SET ordena = ordena WHERE id_testimonio = $id


Esta seria la idea en general de como lo haria, no se si se pueda hacer desde la consulta, se me hace un poco complicadon, pero en lo personal prefiero esto, ademas de que me hace practicar mas y forzar al cerebro a trabajar, jejejeje

Esta idea funciona por que ya lo hice en un sitio que se llama www.artejoven.com, donde le pongo el valor a las fotos que quiero que me muestre al inicio, ordenadas como yo quiero, mas bien como el usuario quiere, ademas, eso lo hacen ellos, que hagan algo, jejejeje, entran al administrador y seleccionan que imagenes quieren que se muestren.

Saludos y estamos en contacto, cualquier cosa postealo y vemos que pexcadito.


Nos leemos... o nos vemos, si no es aqui, entonces, delante del trono
__________________
Nos leemos...

Richer
Is 40:31 1Co 16:22
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 21:57.