Comunidad de diseño web y desarrollo en internet online

Ordenar registros con separacion de similares

Citar            
MensajeEscrito el 13 Mar 2017 09:59 pm
Tengo que ordenar de forma aleatoria el resultado de una lista de 50 registros, de esos 50 registros hay 3 personas que aparecen mas de 3 veces consecutivamente, necesito separarlos con la mayor cantidad de registros intermedios es decir:

JUAN P
JUAN P
JUAN P

MARIO J
IGNACIO R
LUIS V
JOSE F
JUAN H
JOSE R

Deberia quedar asi:

JUAN P
MARIO J
IGNACIO R
LUIS V
JUAN P
JOSE F
JUAN H
JOSE R
JUAN P

Podrian ayudarme a saber como hacerlo? datos en MySQL, muestreo en PHP + Javascript...

Gracias de antemano

Por apraviah

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Mar 2017 04:26 pm
Basicamente tu recordset es un array, de alli tienes que hacer lo siguiente:

- Quitar en un array nuevo todos los elementos repetidos (si son mas de uno, en muchos array) Tip: ordena alfabeticamente el resultado de tu SQL para que queden uno detras del otro los repetidos
- Cuentas cuantos elementos hay no repetidos, y lo divides por el tamano del array de repetidos mas largo
- Divides el total por los repetidos del paso anterior
- Recorres el array y cada N (resultado de la division anterior) haces un inner loop que recorre los arrays de repetidos y mete en el array de no repetidos uno de cada uno, quitandolos para que el array de repetidos se vaya vaciando

Como ves, es mas fácil decirlo que hacerlo, y si no tienes cierta experiencia, to'mate un buen rato

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.