Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/10/2011, 04:45
helenp
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: ordenar usando jquery o otro javascript

Cita:
Iniciado por IsaBelM Ver Mensaje
[URL="http://www.forosdelweb.com/f13/manipular-array-247815/#post878475"]ve leyendo [/URL] hasta llegar [URL="http://www.pepemolina.com/galeria/index.html"]aquí[/URL]
Hola, he leido y probado todos los codigos que viene en el tema, ahora el enlace lo veo dificil descifrar ya que viene muchas cosas y archivos externos y no me entero.
De momento he empezado por un ejemplo que venia en el tema,
esto funciona:
Código:
<html>
<head>
<title>Manipulaci&oacute;n de elementos de un array.</title>
<script language=JavaScript type=text/javascript>
//  FUNCIONES PARA EL MÉTODO SORT()

// Esta función ordena los números de menor a mayor
/* Solo es valida para array donde todos sus valores
son numericos */
//Sintaxis - nombre_array.sort(numeric_sort_min)
function numeric_sort_min(element1, element2){
  return (element1 - element2)

}

// Esta función ordena los números de mayor a menor
/* Solo es valida para array donde todos sus valores
son numericos */
//Sintaxis - nombre_array.sort(numeric_sort_max)
function numeric_sort_max(element1, element2){
  return (element2 - element1)

}
// Ordena alfábeticamente pero en sentido inverso
//Sintaxis - nombre_array.sort(reverse_alpha_sort)
function reverse_alpha_sort(element1,element2){
  if(element1 > element2){
    return -1
  }
  else if(element1 < element2){
    return 1
  }
  else{
    return 0
  }

}
//
//-->
</script>



</head>

<body>
<center><div id="numeros"></div></center><br>
<script language=JavaScript type=text/javascript>
<!--
var my_array1 = new Array(0,1,2,3,4,5,6,7,8,9)
function show_array1(){
var msg1=""

    for (var ctr=0; ctr < my_array1.length; ctr++){
        if((my_array1[ctr] === 0) && (ctr != my_array1.length - 1)){msg1+=my_array1[ctr]+ ",".fontcolor("red")}
        else if(ctr == my_array1.length - 1){msg1+=my_array1[ctr]}
        else{msg1+=my_array1[ctr]+ ","}

    }
    document.getElementById("numeros").innerHTML = "my_array1= new Array(".bold().fontsize(6) +
                                                  msg1.bold().fontsize(6) +
                                                  ")".bold().fontsize(6)
}
show_array1()
</script>
<center><div id="text"></div></center><br>
<script language=JavaScript type=text/javascript>
var my_array2 = new Array("alfa","beta","zeta","chrome")
function show_array2(){
var msg1=""

    for (var ctr=0; ctr < my_array2.length; ctr++){
        if((my_array2[ctr] === 0) && (ctr != my_array2.length - 1)){msg1+=my_array2[ctr]+ ",".fontcolor("red")}
        else if(ctr == my_array2.length - 1){msg1+=my_array2[ctr]}
        else{msg1+=my_array2[ctr]+ ","}

    }
    document.getElementById("text").innerHTML = "my_array2= new Array(".bold().fontsize(6) +
                                                  msg1.bold().fontsize(6) +
                                                  ")".bold().fontsize(6)
}
show_array2()
//-->
</script>


  <form name="form1" onsubmit="return false"><center>
  <input type="button"  value="Ordenar de mayor a menor" onClick="my_array1.sort(numeric_sort_max);show_array1();">
  <input type="button"  value="Ordenar de menor a mayor" onClick="my_array1.sort(numeric_sort_min);show_array1();"><br>
  
    <input type="button"  value="Ordenar al reves" onClick="my_array2.sort(reverse_alpha_sort);show_array2();">
  </center>
</form>
</body>
</html>
ahora lo intento integrar a mi php query con el resultado de la base de datos,
pues empiezo por el sort numerico, ahora el problem supongo es que alli debe de venir numeros, y yo he cambiado los numeros por el resultado del query del precio y lo he puesto asi var my_array1 = new Array(".$row["price"].") y claro no funciona.
El problema es que encuentro muchos ejemplos de javascript donde se declara el array directamente en el javascript, pero no encuentro nada de como se explica a un resultado dinamico....

Este es el query que quiero ordenar:
Código:
do {
echo "<tr>";
echo "<td class=searchertop><p><a href=".$row["link_ingles"].">".$row["id_propiedad"]."</a><br>".$row["text"]."<br>Pool: ".$row["pool"]."<br>Bedrooms: ".$row["bedrooms"]."<br>Bathrooms: ".$row["bathrooms"]."<br>Air-conditioning: ".$row["air"]."<br>Sleeps max.: ".$row["duermen"]." persons.<br>Internet: ".$row["internet"]."<br>Prices from: ".$row["price"]." €/week.</p><a href=".$row["link_ingles"].">View details</a><p></p></td>";
echo "<td class=searchertop>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=".$row["link_ingles"]."><img class=borderfotos src=".$row["image"]." border=\"0\"></a></td>";
echo "</tr>";
echo "<td class='result'>&nbsp;</td>";
echo "<td class='result'>&nbsp;</td>";
} while ($row = mysql_fetch_array($result));

echo "</table> \n";
Gracias de antemano

Pd. Acabo de entrar de nuevo a pepemolina.com/arrays/ y es diferente...antes habia muchas mas cosas....me acuerdo de una galeria de imagenes que se ordenaba, y sigo sin encontrar todo el codigo para probar.

Última edición por helenp; 23/10/2011 a las 06:56