Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ordenar array en php

Estas en el tema de ordenar array en php en el foro de PHP en Foros del Web. Hola tengo este Array Código PHP: $Jockeysarray  = array(          "0"   =>  $PNomJoc [ $y ],          "1"   =>  $P1rocan [ $y ],          "2"   =>  ...

  #1 (permalink)  
Antiguo 14/04/2014, 21:49
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
ordenar array en php

Hola tengo este Array

Código PHP:

$Jockeysarray 
= array(
        
"0"  => $PNomJoc[$y],
        
"1"  => $P1rocan[$y],
        
"2"  => $P1ropor[$y],
        
"3"  => $P2dacan[$y],
        
"4"  => $P2dapor[$y],
    
"5"  => $P3racan[$y],
    
"6"  => $P3rapor[$y],
    
"7"  => $Ptrifecta[$y],
    
"8"  => $P4tocan[$y],
    
"9"  => $P4topor[$y],
    
"10"  => $Pcuatrifecta[$y],
    
"11"  => $P5tocan[$y],
    
"12"  => $P5topor[$y],
    
"13"  => $P6tocan[$y],
    
"14"  => $P6topor[$y],
    
"15"  => $Ptotalcarrr[$y],
); 
Y Necesito ordenarlo en orden descendiente por el campo '2'

Hace 24 Horas que estoy buscando y nada resulta.

Desde ya les agradezco su ayuda
  #2 (permalink)  
Antiguo 15/04/2014, 00:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ordenar array en php

No me queda claro a qué te refieres con eso de ordenar por el "campo 2". De cualquier forma, para ordenar los datos de un array, existen funciones en PHP que te facilitan la labor. Aquí puedes ver la lista completa: Ordenación de arrays

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 15/04/2014, 05:57
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Es Obvio que si hago la Consulta es que ya pase por esa página, y un monton más que ofrecen soluciones, y no logré implementarlas.

La verdad que el array es bastante claro para entender que es ordenar por el Campo 2 en forma descendente.

Para responder obviedades prefiero que no escibas nada en la respuesta
  #4 (permalink)  
Antiguo 15/04/2014, 06:44
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Pues no es tan obvio, yo tambien llevo pensando, Que es campo 2? tu te entiendes, vale, pero no supongas que es obvio que campo 2 sea entendible por todos.

La segunda posicion del array? el valor del array?

Por favor, explica detalladamente lo que quieres. Pon un ejemplo, expandete.
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #5 (permalink)  
Antiguo 15/04/2014, 07:06
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Código PHP:

$Jockeysarray 
= array( 
        
"0"  => $PNomJoc[$y], 
        
"1"  => $P1rocan[$y], 
        
"2"  => $P1ropor[$y],  este es el campo 2
        
"3"  => $P2dacan[$y], 
        
"4"  => $P2dapor[$y], 
    
"5"  => $P3racan[$y], 
    
"6"  => $P3rapor[$y], 
    
"7"  => $Ptrifecta[$y], 
    
"8"  => $P4tocan[$y], 
    
"9"  => $P4topor[$y], 
    
"10"  => $Pcuatrifecta[$y], 
    
"11"  => $P5tocan[$y], 
    
"12"  => $P5topor[$y], 
    
"13"  => $P6tocan[$y], 
    
"14"  => $P6topor[$y], 
    
"15"  => $Ptotalcarrr[$y], 
); 
como verás a cada campo que va de 1 a 15 le corresponde una variable

que puede tomar por ej 6 valores

quedando un array de 15 x 6

lo que yo necesito es ordenar el array por el campo 2
  #6 (permalink)  
Antiguo 15/04/2014, 07:17
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Tenemos un array global que tiene 16 arrays, y cada uno de esos ultimos array pueden tener hasta 6 valores (un ejemplo, ya se)

Y lo que quieres no es ordenar el global array sino el array del segundo índice por orden descendiente. Voy bien encaminado?

Si es así, la solución seria la siguiente

Código PHP:
$Jockeysarray = array( 
        
"0"  => $PNomJoc[$y], 
        
"1"  => $P1rocan[$y], 
        
"2"  => $P1ropor[$y],  este es el campo 2
        
"3"  => $P2dacan[$y], 
        
"4"  => $P2dapor[$y], 
    
"5"  => $P3racan[$y], 
    
"6"  => $P3rapor[$y], 
    
"7"  => $Ptrifecta[$y], 
    
"8"  => $P4tocan[$y], 
    
"9"  => $P4topor[$y], 
    
"10"  => $Pcuatrifecta[$y], 
    
"11"  => $P5tocan[$y], 
    
"12"  => $P5topor[$y], 
    
"13"  => $P6tocan[$y], 
    
"14"  => $P6topor[$y], 
    
"15"  => $Ptotalcarrr[$y], 
);

//Si quiere ordenar indice 2 por los indices de ese array
ksort($Jockeysarray[2]);

//Si quiere ordenar indice 2 por los valores de ese array
arsort($Jockeysarray[2]); 
Con esto solo el índice 2 se ordena descendientemente, no sé si quieres ordenadorlo por los indices o por los valores, así que te deje ambos casos.

CREO que es esto lo que pides, sino siento no haberte entendido :/

Un saludo!
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #7 (permalink)  
Antiguo 15/04/2014, 07:24
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Cita:
Iniciado por Qazser Ver Mensaje
Tenemos un array global que tiene 16 arrays, y cada uno de esos ultimos array pueden tener hasta 6 valores (un ejemplo, ya se)

Y lo que quieres no es ordenar el global array sino el array del segundo índice por orden descendiente. Voy bien encaminado?

Si es así, la solución seria la siguiente

Código PHP:
$Jockeysarray = array( 
        
"0"  => $PNomJoc[$y], 
        
"1"  => $P1rocan[$y], 
        
"2"  => $P1ropor[$y],  este es el campo 2
        
"3"  => $P2dacan[$y], 
        
"4"  => $P2dapor[$y], 
    
"5"  => $P3racan[$y], 
    
"6"  => $P3rapor[$y], 
    
"7"  => $Ptrifecta[$y], 
    
"8"  => $P4tocan[$y], 
    
"9"  => $P4topor[$y], 
    
"10"  => $Pcuatrifecta[$y], 
    
"11"  => $P5tocan[$y], 
    
"12"  => $P5topor[$y], 
    
"13"  => $P6tocan[$y], 
    
"14"  => $P6topor[$y], 
    
"15"  => $Ptotalcarrr[$y], 
);

//Si quiere ordenar indice 2 por los indices de ese array
ksort($Jockeysarray[2]);

//Si quiere ordenar indice 2 por los valores de ese array
arsort($Jockeysarray[2]); 
Con esto solo el índice 2 se ordena descendientemente, no sé si quieres ordenadorlo por los indices o por los valores, así que te deje ambos casos.

CREO que es esto lo que pides, sino siento no haberte entendido :/

Un saludo!
Se entendió. la segunda es la que necesito, pero al usarla me da este error

Warning: arsort() expects parameter 1 to be array, string given in /var/www/web/web/progra/comparajockey2.php on line 279
  #8 (permalink)  
Antiguo 15/04/2014, 07:26
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Significa que el segundo índice de $Jockeysarray no es un array.

Hazle un print_r($Jockeysarray[2]); antes del arsort() y mira si indice 2 guarda lo que tu te esperas
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #9 (permalink)  
Antiguo 15/04/2014, 07:32
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Si me lista los valores que tengo en la Id '2'

te los muestro

16.22 11.26 1.56 12.00 8.33 9.18 6.19 0.00 13.21 7.58 10.00
  #10 (permalink)  
Antiguo 15/04/2014, 07:36
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Pregunta:

el print_r te devolvió:
Cita:
16.22 11.26 1.56 12.00 8.33 9.18 6.19 0.00 13.21 7.58 10.00
o te devolvio
Cita:
Array
(
[0] => 16.22
[1] => 11.26
[2] => 1.56
[3] => 12
[4] => 8.33
[5] => 9.18
[6] => 6.19
[7] => 0
[8] => 13.21
[9] => 7.58
[10] => 10
)
es importante que print_r lo devuelva como en el segundo citado
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #11 (permalink)  
Antiguo 15/04/2014, 07:39
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Me lo devolvió como en el 1er caso

Así

16.22 11.26 1.56 12.00 8.33 9.18 6.19 0.00 13.21 7.58 10.00
  #12 (permalink)  
Antiguo 15/04/2014, 07:41
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Cita:
Iniciado por Qazser Ver Mensaje
Pregunta:

el print_r te devolvió:


o te devolvio


es importante que print_r lo devuelva como en el segundo citado
o sea ¿está mal la forma en que armé el array?

Fijate que es la manera que muestro al Principio.

a ver que tendría que corregir
  #13 (permalink)  
Antiguo 15/04/2014, 07:45
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Si, definitvamente php cree que $Jockeysarray[2] == '16.22 11.26 1.56 12.00 8.33 9.18 6.19 0.00 13.21 7.58 10.00';

Puedes comprobarlo tu mismo:
-Haz un echo $Jockeysarray[2]; si es array te saldrá la palabra array, porque echo no sabe imprimir arrays, si imprime el número..mal
-Tambien puedes hacer un
if($Jockeysarray[2] == '16.22 11.26 1.56 12.00 8.33 9.18 6.19 0.00 13.21 7.58 10.00')
{
echo 'es un texto';
}


De todos modos, el array no se convirtio en un texto cuando lo has metido en el array global $Jockeysarray, sino antes, en el momento en el que metes en $P1ropor los diferentes valores. Si me muestras ese código podria buscar la causa.
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #14 (permalink)  
Antiguo 15/04/2014, 07:53
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Tengo este Select que el Resultado es único.

ese resultado lo incluyo en el array, y en varias acciones recursivas voy llenando el Array con sus valores. el select es:


Código PHP:
Ver original
  1. $filtro3= ("SELECT *
  2.  
  3.  
  4.     FROM turf_esta_joc as e1
  5.  
  6.     Left Join turf_jockey   AS j1       ON  e1.idjockey = j1.idjockey
  7.  
  8.  
  9.     where e1.idjockey = '$Pidjock2a' and e1.anio = '$Anio' and e1.idubiccn=$Hipo
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                 ") or die ("no se ha podido conectar");
  16.  
  17. if ($result3 = mysqli_query($mysqli, $filtro3)) {
  18.  
  19. $row_cnt3 = mysqli_num_rows($result3);
  20.     /* fetch associative array */
  21. while ($fila3 = mysqli_fetch_array($result3, MYSQLI_ASSOC)) {
  22.  
  23. $Pidjoc[]       =   $fila3['idjockey'];
  24. $PNomJoc[]      =   $fila3['jockey'];
  25. $P1rocan[]      =   $fila3['1rocan'];
  26. $P1ropor[]      =   $fila3['1ropor'];
  27. $P2dacan[]      =   $fila3['2dacan'];
  28. $P2dapor[]      =   $fila3['2dapor'];
  29. $P3racan[]      =   $fila3['3racan'];
  30. $P3rapor[]      =   $fila3['3rapor'];
  31. $Ptrifecta[]    =   $fila3['trifecta'];
  32. $P4tocan[]      =   $fila3['4tocan'];
  33. $P4topor[]      =   $fila3['4topor'];
  34. $Pcuatrifecta[] =   $fila3['cuatrifecta'];
  35. $P5tocan[]      =   $fila3['5tocan'];
  36. $P5topor[]      =   $fila3['5topor'];
  37. $P6tocan[]      =   $fila3['6tocan'];
  38. $P6topor[]      =   $fila3['6topor'];
  39. $Ptotalcarrr[]  =   $fila3['carrtot'];
  40.  
  41. ++$p;
  42.  
  43. }}}

Preguntame lo que precises
  #15 (permalink)  
Antiguo 15/04/2014, 08:19
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Hice esta Prueba para ver si nos ayuda.

Cargue la Matriz de esta manera:

Código PHP:
Ver original
  1. $Jockeysarray3 = [
  2.     "0"  => "PNomJoc",
  3.     "1"  => "P1rocan",
  4.     "2"  => "P1ropor",
  5.     "3"  => "P2dacan",
  6.     "4"  => "P2dapor",
  7.     "5"  => "P3racan",
  8.     "6"  => "P3rapor",
  9.     "7"  => "Ptrifecta",
  10.     "8"  => "P4tocan",
  11.     "9"  => "P4topor",
  12.     "10"  => "Pcuatrifecta",
  13.     "11"  => "P5tocan",
  14.     "12"  => "P5topor",
  15.     "13"  => "P6tocan",
  16.     "14"  => "P6topor",
  17.     "15"  => "Ptotalcarrr",
  18. ];


Pero al Usar

Código PHP:
Ver original
  1. print_r($Jockeysarray3[2]);

me lo muestra de la misma manera:

P1ropor P1ropor P1ropor P1ropor P1ropor P1ropor P1ropor P1ropor P1ropor P1ropor P1ropor
  #16 (permalink)  
Antiguo 15/04/2014, 08:24
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Si uso:

Código PHP:
Ver original
  1. var_dump($Jockeysarray);


El Resultado que muestra es:

array(16) { [0]=> string(16) "Coronel Fabrizio" [1]=> string(1) "6" [2]=> string(5) "16.22" [3]=> string(1) "6" [4]=> string(5) "16.22" [5]=> string(1) "4" [6]=> string(5) "10.81" [7]=> string(5) "43.24" [8]=> string(1) "6" [9]=> string(5) "16.22" [10]=> string(5) "59.46" [11]=> string(1) "6" [12]=> string(5) "16.22" [13]=> string(1) "1" [14]=> string(4) "2.70" [15]=> string(2) "37" } array(16) { [0]=> string(11) "Leyes Mario" [1]=> string(2) "17" [2]=> string(5) "11.26" [3]=> string(2) "12" [4]=> string(4) "7.95" [5]=> string(2) "14" [6]=> string(4) "9.27" [7]=> string(5) "28.48" [8]=> string(2) "11" [9]=> string(4) "7.28" [10]=> string(5) "35.76" [11]=> string(2) "14" [12]=> string(4) "9.27" [13]=> string(2) "22" [14]=> string(5) "14.57" [15]=> string(3) "151" } array(16) { [0]=> string(14) "Pereyra Carlos" [1]=> string(1) "1" [2]=> string(4) "1.56" [3]=> string(1) "5" [4]=> string(4) "7.81" [5]=> string(1) "6" [6]=> string(4) "9.38" [7]=> string(5) "18.75" [8]=> string(1) "3" [9]=> string(4) "4.69" [10]=> string(5) "23.44" [11]=> string(2) "10" [12]=> string(5) "15.63" [13]=> string(1) "5" [14]=> string(4) "7.81" [15]=> string(2) "64" } array(16) { [0]=> string(14) "Parma Geronimo" [1]=> string(1) "6" [2]=> string(5) "12.00" [3]=> string(1) "3" [4]=> string(4) "6.00" [5]=> string(1) "6" [6]=> string(5) "12.00" [7]=> string(5) "30.00" [8]=> string(1) "5" [9]=> string(5) "10.00" [10]=> string(5) "40.00" [11]=> string(1) "4" [12]=> string(4) "8.00" [13]=> string(1) "5" [14]=> string(5) "10.00" [15]=> string(2) "50" } array(16) { [0]=> string(15) "Yalet Jorge (H)" [1]=> string(1) "5" [2]=> string(4) "8.33" [3]=> string(1) "3" [4]=> string(4) "5.00" [5]=> string(1) "4" [6]=> string(4) "6.67" [7]=> string(5) "20.00" [8]=> string(1) "7" [9]=> string(5) "11.67" [10]=> string(5) "31.67" [11]=> string(1) "9" [12]=> string(5) "15.00" [13]=> string(2) "10" [14]=> string(5) "16.67" [15]=> string(2) "60" } array(16) { [0]=> string(15) "Arias Daniel E." [1]=> string(1) "9" [2]=> string(4) "9.18" [3]=> string(2) "11" [4]=> string(5) "11.22" [5]=> string(1) "6" [6]=> string(4) "6.12" [7]=> string(5) "26.53" [8]=> string(2) "10" [9]=> string(5) "10.20" [10]=> string(5) "36.73" [11]=> string(1) "6" [12]=> string(4) "6.12" [13]=> string(1) "9" [14]=> string(4) "9.18" [15]=> string(2) "98" } array(16) { [0]=> string(12) "Giorgis Abel" [1]=> string(1) "7" [2]=> string(4) "6.19" [3]=> string(2) "12" [4]=> string(5) "10.62" [5]=> string(2) "16" [6]=> string(5) "14.16" [7]=> string(5) "30.97" [8]=> string(2) "10" [9]=> string(4) "8.85" [10]=> string(5) "39.82" [11]=> string(1) "5" [12]=> string(4) "4.42" [13]=> string(2) "10" [14]=> string(4) "8.85" [15]=> string(3) "113" } array(16) { [0]=> string(11) "Palacios M." [1]=> string(1) "0" [2]=> string(4) "0.00" [3]=> string(1) "0" [4]=> string(4) "0.00" [5]=> string(1) "0" [6]=> string(4) "0.00" [7]=> string(4) "0.00" [8]=> string(1) "0" [9]=> string(4) "0.00" [10]=> string(4) "0.00" [11]=> string(1) "0" [12]=> string(4) "0.00" [13]=> string(1) "1" [14]=> string(5) "50.00" [15]=> string(1) "2" } array(16) { [0]=> string(13) "Peralta Jorge" [1]=> string(2) "14" [2]=> string(5) "13.21" [3]=> string(2) "12" [4]=> string(5) "11.32" [5]=> string(2) "11" [6]=> string(5) "10.38" [7]=> string(5) "34.91" [8]=> string(2) "11" [9]=> string(5) "10.38" [10]=> string(5) "45.28" [11]=> string(2) "10" [12]=> string(4) "9.43" [13]=> string(2) "11" [14]=> string(5) "10.38" [15]=> string(3) "106" } array(16) { [0]=> string(15) "Bellocq Gonzalo" [1]=> string(1) "5" [2]=> string(4) "7.58" [3]=> string(1) "6" [4]=> string(4) "9.09" [5]=> string(1) "7" [6]=> string(5) "10.61" [7]=> string(5) "27.27" [8]=> string(1) "8" [9]=> string(5) "12.12" [10]=> string(5) "39.39" [11]=> string(1) "5" [12]=> string(4) "7.58" [13]=> string(1) "9" [14]=> string(5) "13.64" [15]=> string(2) "66" } array(16) { [0]=> string(15) "Cabrera Luciano" [1]=> string(1) "2" [2]=> string(5) "10.00" [3]=> string(1) "5" [4]=> string(5) "25.00" [5]=> string(1) "1" [6]=> string(4) "5.00" [7]=> string(5) "40.00" [8]=> string(1) "1" [9]=> string(4) "5.00" [10]=> string(5) "45.00" [11]=> string(1) "3" [12]=> string(5) "15.00" [13]=> string(1) "1" [14]=> string(4) "5.00" [15]=> string(2) "20"
  #17 (permalink)  
Antiguo 15/04/2014, 08:43
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

no entiendo como el var dump puede sacar eso, no tiene sentido, dejame pensar....

Para que es la variable $y? Podrias crear el array sin ella? que quede de esta manera

Código HTML:
Ver original
  1. $Jockeysarray = array(
  2.         "0"  => $PNomJoc,
  3.         "1"  => $P1rocan,
  4.         "2"  => $P1ropor,
  5.         "3"  => $P2dacan,
  6.         "4"  => $P2dapor,
  7.     "5"  => $P3racan,
  8.     "6"  => $P3rapor,
  9.     "7"  => $Ptrifecta,
  10.     "8"  => $P4tocan,
  11.     "9"  => $P4topor,
  12.     "10"  => $Pcuatrifecta,
  13.     "11"  => $P5tocan,
  14.     "12"  => $P5topor,
  15.     "13"  => $P6tocan,
  16.     "14"  => $P6topor,
  17.     "15"  => $Ptotalcarrr
  18. );

Porque lo que tu quieres es guardar los arrays completos en el array global supongo, si no fuera así no tendrias motivo para ordenarlo luego.
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #18 (permalink)  
Antiguo 15/04/2014, 08:57
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Cita:
Iniciado por Qazser Ver Mensaje
Pregunta:

el print_r te devolvió:


o te devolvio


es importante que print_r lo devuelva como en el segundo citado
o sea ¿está mal la forma en que armé el array?

Fijate que es la manera que muestro al Principio.

a ver que tendría que corregir


Si pero fijate mas arriba en la variable Jockeysarray3 hice la misma matriz poniendo en vez de variables texto y el resultado es el mismo
  #19 (permalink)  
Antiguo 15/04/2014, 09:04
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Si pero en el 3 no llamastes a las variables, has puesto cadenas de texto con el nombre

No es lo mismo
Código PHP:
$Jockeysarray3 = [
    
"0"  => "PNomJoc"
que esto
Código PHP:
$Jockeysarray3 = [
    
"0"  => $PNomJoc
De todos modos....he pensado sobre esto y solo puede haber 1 razón por la que va mal, y está en el código que no muestras.

$Jockeysarray está dentro de un while/for/foreach. Por eso nunca se hace bien el array, cada vez que llega el siguiente valor sobreescribes el array con datos nuevos

Neceistas quitar el bucle, porque sino no llega a meterse el array, luego cuando haces el array global, hazlo como puse arriba, con las variables SIN [$y]

Si me muestras un poco mas del código que está alrededor de $Jockeysarray podria decirte mas o menos como debe quedar
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #20 (permalink)  
Antiguo 15/04/2014, 09:14
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Código PHP:
Ver original
  1. $p=0;
  2. $w=0;
  3. echo"<br>Total de Jockey cargados: $prn <br>";
  4. for ($w=0; $w<($prn - $joccero); $w++ ) {
  5.  
  6. $Pidjock2a=$Pidjock[$w];
  7. $Pnomjoc2a=$Pnomjoc[$w];
  8.  
  9.  
  10.  
  11. $filtro3= ("SELECT *
  12.  
  13.  
  14.     FROM turf_esta_joc as e1
  15.  
  16.     Left Join turf_jockey   AS j1       ON  e1.idjockey = j1.idjockey
  17.  
  18.  
  19.     where e1.idjockey = '$Pidjock2a' and e1.anio = '$Anio' and e1.idubiccn=$Hipo
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                 ") or die ("no se ha podido conectar");
  26.  
  27. if ($result3 = mysqli_query($mysqli, $filtro3)) {
  28.  
  29. $row_cnt3 = mysqli_num_rows($result3);
  30.     /* fetch associative array */
  31. while ($fila3 = mysqli_fetch_array($result3, MYSQLI_ASSOC)) {
  32.  
  33. $Pidjoc[]       =   $fila3['idjockey'];
  34. $PNomJoc[]      =   $fila3['jockey'];
  35. $P1rocan[]      =   $fila3['1rocan'];
  36. $P1ropor[]      =   $fila3['1ropor'];
  37. $P2dacan[]      =   $fila3['2dacan'];
  38. $P2dapor[]      =   $fila3['2dapor'];
  39. $P3racan[]      =   $fila3['3racan'];
  40. $P3rapor[]      =   $fila3['3rapor'];
  41. $Ptrifecta[]    =   $fila3['trifecta'];
  42. $P4tocan[]      =   $fila3['4tocan'];
  43. $P4topor[]      =   $fila3['4topor'];
  44. $Pcuatrifecta[] =   $fila3['cuatrifecta'];
  45. $P5tocan[]      =   $fila3['5tocan'];
  46. $P5topor[]      =   $fila3['5topor'];
  47. $P6tocan[]      =   $fila3['6tocan'];
  48. $P6topor[]      =   $fila3['6topor'];
  49. $Ptotalcarrr[]  =   $fila3['carrtot'];
  50.  
  51. ++$p;
  52.  
  53. }}}
  54. $y=0;
  55. echo "Cantidad Jockey 2014 $p <br>";
  56. for ($y=0; $y<($p); $y++ ) {
  57.  
  58.  
  59. $Jockeysarray = array(
  60.     "0"  => $PNomJoc[$y],
  61.     "1"  => $P1rocan[$y],
  62.     "2"  => $P1ropor[$y],
  63.     "3"  => $P2dacan[$y],
  64.     "4"  => $P2dapor[$y],
  65.     "5"  => $P3racan[$y],
  66.     "6"  => $P3rapor[$y],
  67.     "7"  => $Ptrifecta[$y],
  68.     "8"  => $P4tocan[$y],
  69.     "9"  => $P4topor[$y],
  70.     "10"  => $Pcuatrifecta[$y],
  71.     "11"  => $P5tocan[$y],
  72.     "12"  => $P5topor[$y],
  73.     "13"  => $P6tocan[$y],
  74.     "14"  => $P6topor[$y],
  75.     "15"  => $Ptotalcarrr[$y],
  76. );
  77.  
  78. <tbody>
  79.         <tr>
  80.             <td ><?php echo "<b>$Jockeysarray[0] </b>";?></td>
  81.             <td ><?php echo "<b>$Jockeysarray[1] </b>";?></td>
  82.             <td ><?php echo "<b>$Jockeysarray[2] </b>";?></td>
  83.             <td ><?php echo "<b>$Jockeysarray[3] </b>";?></td>
  84.             <td ><?php echo "$Jockeysarray[4]";?></td>
  85.             <td ><?php echo "<b>$Jockeysarray[5] </b>";?></td>
  86.             <td ><?php echo "$Jockeysarray[6]";?></td>
  87.             <td ><?php echo "$Jockeysarray[7]";?></td>
  88.             <td ><?php echo "$Jockeysarray[8]";?></td>
  89.             <td ><?php echo "$Jockeysarray[9]";?></td>
  90.             <td ><?php echo "$Jockeysarray[10]";?></td>
  91.             <td ><?php echo "$Jockeysarray[11]";?></td>
  92.             <td ><?php echo "$Jockeysarray[12]";?></td>
  93.             <td ><?php echo "$Jockeysarray[13]";?></td>
  94.             <td ><?php echo "$Jockeysarray[14]";?></td>
  95.             <td ><?php echo "$Jockeysarray[15]";?></td>
  96.             <td ><?php echo "$Anio";?></td>
  97.         </tr>
  98. </tbody>
  99. </div>
  100.  
  101. <?php
  102.  
  103. }

Este es el código

como verás la variable $Pidjock[$w] trae los datos para el select

y pasa por el select tantas veces como datos contenga
  #21 (permalink)  
Antiguo 15/04/2014, 09:16
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Perdón compañero se lo explique mal,

el select carga los datos en la variable matricial, por eso es que le puse la variable $y pero mientras Ud. piensa yo voy a cambiar lo que me dijo
  #22 (permalink)  
Antiguo 15/04/2014, 09:27
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Ahí está el fallo

Porque tu todos los valores del select los estas recogiendo en el while de la query, no hay necesitad de hacer otro bucle, es mas, ese ultimo bucle rompe todo.

De paso incluso optimizaciones en el código:

En serio, si separas el php del html cosas así ni te hubieran pasado, es solo un consejo, intenta programar mas limpio, separando las cosas, quedará todo mas ordenado y fallos así ocurren menos

Código PHP:
<?php
$p
=0;
$w=0;
echo
"<br>Total de Jockey cargados: $prn <br>";
for (
$w=0$w<($prn $joccero); $w++ ) {
 
$Pidjock2a=$Pidjock[$w];
$Pnomjoc2a=$Pnomjoc[$w];
 
 
 
$filtro3= ("SELECT *
 
 
    FROM turf_esta_joc as e1
 
    Left Join turf_jockey   AS j1       ON  e1.idjockey = j1.idjockey
 
 
    where e1.idjockey = '$Pidjock2a' and e1.anio = '$Anio' and e1.idubiccn=$Hipo
 
 
 
 
 
                "
) or die ("no se ha podido conectar");
 
if (
$result3 mysqli_query($mysqli$filtro3)) {
 
$row_cnt3 mysqli_num_rows($result3);
    
/* fetch associative array */
while ($fila3 mysqli_fetch_assoc($result3)) {
 
$Pidjoc[]       =   $fila3['idjockey'];
$PNomJoc[]      =   $fila3['jockey'];
$P1rocan[]      =   $fila3['1rocan'];
$P1ropor[]      =   $fila3['1ropor'];
$P2dacan[]      =   $fila3['2dacan'];
$P2dapor[]      =   $fila3['2dapor'];
$P3racan[]      =   $fila3['3racan'];
$P3rapor[]      =   $fila3['3rapor'];
$Ptrifecta[]    =   $fila3['trifecta'];
$P4tocan[]      =   $fila3['4tocan'];
$P4topor[]      =   $fila3['4topor'];
$Pcuatrifecta[] =   $fila3['cuatrifecta'];
$P5tocan[]      =   $fila3['5tocan'];
$P5topor[]      =   $fila3['5topor'];
$P6tocan[]      =   $fila3['6tocan'];
$P6topor[]      =   $fila3['6topor'];
$Ptotalcarrr[]  =   $fila3['carrtot'];
 
++
$p;
 
}}}

//Aqui la linea para ordenar el array campo 2
arsort($P1rocan);  

$y=0;
echo 
"Cantidad Jockey 2014 $p <br>";
for (
$y=0$y<($p); $y++ ) {
 
 
$Jockeysarray = array(
    
"0"  => $PNomJoc[$y],
    
"1"  => $P1rocan[$y],
    
"2"  => $P1ropor[$y],
    
"3"  => $P2dacan[$y],
    
"4"  => $P2dapor[$y],
    
"5"  => $P3racan[$y],
    
"6"  => $P3rapor[$y],
    
"7"  => $Ptrifecta[$y],
    
"8"  => $P4tocan[$y],
    
"9"  => $P4topor[$y],
    
"10"  => $Pcuatrifecta[$y],
    
"11"  => $P5tocan[$y],
    
"12"  => $P5topor[$y],
    
"13"  => $P6tocan[$y],
    
"14"  => $P6topor[$y],
    
"15"  => $Ptotalcarrr[$y],
);
 
<
tbody>
        <
tr>
            <
td ><?php echo "<b>$Jockeysarray[0] </b>";?></td>
            <td ><?php echo "<b>$Jockeysarray[1] </b>";?></td>
            <td ><?php echo "<b>$Jockeysarray[2] </b>";?></td>
            <td ><?php echo "<b>$Jockeysarray[3] </b>";?></td>
            <td ><?php echo "$Jockeysarray[4]";?></td>
            <td ><?php echo "<b>$Jockeysarray[5] </b>";?></td>
            <td ><?php echo "$Jockeysarray[6]";?></td>
            <td ><?php echo "$Jockeysarray[7]";?></td>
            <td ><?php echo "$Jockeysarray[8]";?></td>
            <td ><?php echo "$Jockeysarray[9]";?></td>
            <td ><?php echo "$Jockeysarray[10]";?></td>
            <td ><?php echo "$Jockeysarray[11]";?></td>
            <td ><?php echo "$Jockeysarray[12]";?></td>
            <td ><?php echo "$Jockeysarray[13]";?></td>
            <td ><?php echo "$Jockeysarray[14]";?></td>
            <td ><?php echo "$Jockeysarray[15]";?></td>
            <td ><?php echo "$Anio";?></td>
        </tr>
</tbody>
</div>
 
<?php
 
}
No te lo he cambiado mucho pero en realidad, ni la varible $Jockeysarray te hace falta...si directamente rellenas en el html las variables que son..o sea

<td ><?php echo "<b>$PNomJoc[$y] </b>";?></td>
<td ><?php echo "<b>$P1rocan[$y] </b>";?></td>
<td ><?php echo "<b>$P1ropor[$y] </b>";?></td>

Ya te funcionaria y tendrias menos codigo

Ten en cuenta que como el $Jockeysarray está en un bucle...lo unico que se le agrega es el 1 valor de cada array, y la siguiente vez que pasa por el bucle se sobreescribe por el siguiente valor, nunca llegar a tener un array de arrays. Pero si tu meta es rellenar el html tampoco lo necesitas.

Nunca podrias haber ordenado bien el campo 2 por eso, porque campo 2 en ningun momento era un array, simplemente 1 valor.
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #23 (permalink)  
Antiguo 15/04/2014, 09:32
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Hice este cambio:

Código PHP:
Ver original
  1. for ($y=0; $y<($p); $y++ ) {
  2.  
  3.  
  4. $PnomjocA   =   $PNomJoc[$y];
  5. $P1rocanA   =   $P1rocan[$y];
  6. $P1roporA   =   $P1ropor[$y];
  7. $P2dacanA   =   $P2dacan[$y];
  8. $P2daporA   =   $P2dapor[$y];
  9. $P3racanA   =   $P3racan[$y];
  10. $P3raporA   =   $P3rapor[$y];
  11. $PtrifectaA =   $Ptrifecta[$y];
  12. $P4tocanA   =   $P4tocan[$y];
  13. $P4toporA   =   $P4topor[$y];
  14. $PcuatrifectaA  =   $Pcuatrifecta[$y];
  15. $P5tocanA   =   $P5tocan[$y];
  16. $P5toporA   =   $P5topor[$y];
  17. $P6tocanA   =   $P6tocan[$y];
  18. $P6toporA   =   $P6topor[$y];
  19. $PtotalcarrrA   =   $Ptotalcarrr[$y];
  20.  
  21. $Jockeysarray = array(
  22.     "0"  => $PnomjocA,
  23.     "1"  => $P1rocanA,
  24.     "2"  => $P1roporA,
  25.     "3"  => $P2dacanA,
  26.     "4"  => $P2daporA,
  27.     "5"  => $P3racanA,
  28.     "6"  => $P3raporA,
  29.     "7"  => $PtrifectaA,
  30.     "8"  => $P4tocanA,
  31.     "9"  => $P4toporA,
  32.     "10"  => $PcuatrifectaA,
  33.     "11"  => $P5tocanA,
  34.     "12"  => $P5toporA,
  35.     "13"  => $P6tocanA,
  36.     "14"  => $P6toporA,
  37.     "15"  => $PtotalcarrrA,
  38. );

Pero ahora el Array $Jockeysarray solo guarda el último Registro
  #24 (permalink)  
Antiguo 15/04/2014, 09:35
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

nooooooo no no no

Tan solo coge el código que te he puesto, por favor
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #25 (permalink)  
Antiguo 15/04/2014, 11:03
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Cita:
Iniciado por Qazser Ver Mensaje
Ahí está el fallo

Porque tu todos los valores del select los estas recogiendo en el while de la query, no hay necesitad de hacer otro bucle, es mas, ese ultimo bucle rompe todo.

De paso incluso optimizaciones en el código:

En serio, si separas el php del html cosas así ni te hubieran pasado, es solo un consejo, intenta programar mas limpio, separando las cosas, quedará todo mas ordenado y fallos así ocurren menos

Código PHP:
<?php
$p
=0;
$w=0;
echo
"<br>Total de Jockey cargados: $prn <br>";
for (
$w=0$w<($prn $joccero); $w++ ) {
 
$Pidjock2a=$Pidjock[$w];
$Pnomjoc2a=$Pnomjoc[$w];
 
 
 
$filtro3= ("SELECT *
 
 
    FROM turf_esta_joc as e1
 
    Left Join turf_jockey   AS j1       ON  e1.idjockey = j1.idjockey
 
 
    where e1.idjockey = '$Pidjock2a' and e1.anio = '$Anio' and e1.idubiccn=$Hipo
 
 
 
 
 
                "
) or die ("no se ha podido conectar");
 
if (
$result3 mysqli_query($mysqli$filtro3)) {
 
$row_cnt3 mysqli_num_rows($result3);
    
/* fetch associative array */
while ($fila3 mysqli_fetch_assoc($result3)) {
 
$Pidjoc[]       =   $fila3['idjockey'];
$PNomJoc[]      =   $fila3['jockey'];
$P1rocan[]      =   $fila3['1rocan'];
$P1ropor[]      =   $fila3['1ropor'];
$P2dacan[]      =   $fila3['2dacan'];
$P2dapor[]      =   $fila3['2dapor'];
$P3racan[]      =   $fila3['3racan'];
$P3rapor[]      =   $fila3['3rapor'];
$Ptrifecta[]    =   $fila3['trifecta'];
$P4tocan[]      =   $fila3['4tocan'];
$P4topor[]      =   $fila3['4topor'];
$Pcuatrifecta[] =   $fila3['cuatrifecta'];
$P5tocan[]      =   $fila3['5tocan'];
$P5topor[]      =   $fila3['5topor'];
$P6tocan[]      =   $fila3['6tocan'];
$P6topor[]      =   $fila3['6topor'];
$Ptotalcarrr[]  =   $fila3['carrtot'];
 
++
$p;
 
}}}

//Aqui la linea para ordenar el array campo 2
arsort($P1rocan);  

$y=0;
echo 
"Cantidad Jockey 2014 $p <br>";
for (
$y=0$y<($p); $y++ ) {
 
 
$Jockeysarray = array(
    
"0"  => $PNomJoc[$y],
    
"1"  => $P1rocan[$y],
    
"2"  => $P1ropor[$y],
    
"3"  => $P2dacan[$y],
    
"4"  => $P2dapor[$y],
    
"5"  => $P3racan[$y],
    
"6"  => $P3rapor[$y],
    
"7"  => $Ptrifecta[$y],
    
"8"  => $P4tocan[$y],
    
"9"  => $P4topor[$y],
    
"10"  => $Pcuatrifecta[$y],
    
"11"  => $P5tocan[$y],
    
"12"  => $P5topor[$y],
    
"13"  => $P6tocan[$y],
    
"14"  => $P6topor[$y],
    
"15"  => $Ptotalcarrr[$y],
);
 
<
tbody>
        <
tr>
            <
td ><?php echo "<b>$Jockeysarray[0] </b>";?></td>
            <td ><?php echo "<b>$Jockeysarray[1] </b>";?></td>
            <td ><?php echo "<b>$Jockeysarray[2] </b>";?></td>
            <td ><?php echo "<b>$Jockeysarray[3] </b>";?></td>
            <td ><?php echo "$Jockeysarray[4]";?></td>
            <td ><?php echo "<b>$Jockeysarray[5] </b>";?></td>
            <td ><?php echo "$Jockeysarray[6]";?></td>
            <td ><?php echo "$Jockeysarray[7]";?></td>
            <td ><?php echo "$Jockeysarray[8]";?></td>
            <td ><?php echo "$Jockeysarray[9]";?></td>
            <td ><?php echo "$Jockeysarray[10]";?></td>
            <td ><?php echo "$Jockeysarray[11]";?></td>
            <td ><?php echo "$Jockeysarray[12]";?></td>
            <td ><?php echo "$Jockeysarray[13]";?></td>
            <td ><?php echo "$Jockeysarray[14]";?></td>
            <td ><?php echo "$Jockeysarray[15]";?></td>
            <td ><?php echo "$Anio";?></td>
        </tr>
</tbody>
</div>
 
<?php
 
}
No te lo he cambiado mucho pero en realidad, ni la varible $Jockeysarray te hace falta...si directamente rellenas en el html las variables que son..o sea

<td ><?php echo "<b>$PNomJoc[$y] </b>";?></td>
<td ><?php echo "<b>$P1rocan[$y] </b>";?></td>
<td ><?php echo "<b>$P1ropor[$y] </b>";?></td>

Ya te funcionaria y tendrias menos codigo

Ten en cuenta que como el $Jockeysarray está en un bucle...lo unico que se le agrega es el 1 valor de cada array, y la siguiente vez que pasa por el bucle se sobreescribe por el siguiente valor, nunca llegar a tener un array de arrays. Pero si tu meta es rellenar el html tampoco lo necesitas.

Nunca podrias haber ordenado bien el campo 2 por eso, porque campo 2 en ningun momento era un array, simplemente 1 valor.
No se resolvió

Igualmente sigo probando, pero no encuentro ninguna explicación de porque no se forma el array, incluso probé de crearlo dentro del Select y nada, si se te ocurre alguna idea, será bienvenida
  #26 (permalink)  
Antiguo 15/04/2014, 11:10
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Ten en cuenta que como el $Jockeysarray está en un bucle...lo unico que se le agrega es el 1 valor de cada array, y la siguiente vez que pasa por el bucle se sobreescribe por el siguiente valor, nunca llegar a tener un array de arrays. Pero si tu meta es rellenar el html tampoco lo necesitas.

Nunca podrias haber ordenado bien el campo 2 por eso, porque campo 2 en ningun momento era un array, simplemente 1 valor.[/QUOTE]

En esto tenés razon, pero la idea de ordenar el array es para cerrar el bucle e imprimirlo en HTML ordenado
  #27 (permalink)  
Antiguo 15/04/2014, 11:28
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: ordenar array en php

Pero tu el html tambien lo tienes en el bucle, entonces no necesitas array

tienes tus 16 arrays, con 6 posiciones cada una

Haces un for y vas llamando la primera posicion de cada array (con la $y) y, la segunda vez que pasa el for, la $y parasará a la segunda entrada de cada array.

Otra cosa, fijate que te he ordenado el array del "campo 2" antes de entrar en el for, fijate en la linea, si no la has aplicado todavia hazlo y deberia estar
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #28 (permalink)  
Antiguo 15/04/2014, 12:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ordenar array en php

Para ordenar los valores del array al que haces mención, no es necesario crear y llenar un nuevo array, basta con el que generas y alimentas en el bucle de la consulta. Es decir, en este:

Código PHP:
Ver original
  1. while ($fila3 = mysqli_fetch_assoc($result3)) {
  2.     $Pidjoc[] = $fila3['idjockey'];
  3.     $PNomJoc[] = $fila3['jockey'];
  4.     $P1rocan[] = $fila3['1rocan'];
  5.     $P1ropor[] = $fila3['1ropor'];
  6.     $P2dacan[] = $fila3['2dacan'];
  7.     $P2dapor[] = $fila3['2dapor'];
  8.     $P3racan[] = $fila3['3racan'];
  9.     $P3rapor[] = $fila3['3rapor'];
  10.     $Ptrifecta[] = $fila3['trifecta'];
  11.     $P4tocan[] = $fila3['4tocan'];
  12.     $P4topor[] = $fila3['4topor'];
  13.     $Pcuatrifecta[] = $fila3['cuatrifecta'];
  14.     $P5tocan[] = $fila3['5tocan'];
  15.     $P5topor[] = $fila3['5topor'];
  16.     $P6tocan[] = $fila3['6tocan'];
  17.     $P6topor[] = $fila3['6topor'];
  18.     $Ptotalcarrr[] = $fila3['carrtot'];
  19.  
  20.     $p++;
  21. }

Solamente te queda ordenar el array $P1ropor (que es el que colocas como valor del índice (no campo) número 2 del array asociativo $Jockeysarray.

Código PHP:
Ver original
  1. rsort($P1ropor);

Ya teniendo ordenado el array en cuestión, puedes proceder a imprimir los valores en la tabla.

Código PHP:
Ver original
  1. <?php
  2. for ($i = 0, $i < $p; $i++){
  3. ?>
  4.     <tbody>
  5.             <tr>
  6.                 <td><b><?=$PNomJoc[$i]?></b></td>
  7.                 <td><b><?=$P1rocan[$i]?></b></td>
  8.                 <td><b><?=$P1ropor[$i]?></b></td>
  9.                 <td><b><?=$P2dacan[$i]?></b></td>
  10.                 <td><?=$P2dapor[$i]?></td>
  11.                 <td><b><?=$P3racan[$i]?></b></td>
  12.                 <td><?=$P3rapor[$i]?></td>
  13.                 <td><?=$Ptrifecta[$i]?></td>
  14.                 <td><?=$P4tocan[$i]?></td>
  15.                 <td><?=$P4topor[$i]?></td>
  16.                 <td><?=$Pcuatrifecta[$i]?></td>
  17.                 <td><?=$P5tocan[$i]?></td>
  18.                 <td><?=$P5topor[$i]?></td>
  19.                 <td><?=$P6tocan[$i]?></td>
  20.                 <td><?=$P6topor[$i]?></td>
  21.                 <td><?=$Ptotalcarrr[$i]?></td>
  22.                 <td><?=$Anio?></td>
  23.             </tr>
  24.     </tbody>
  25. <?php
  26. }

Eso es todo. Qazser ya te había dado la solución, solamente la sintenticé pues el uso del array $Jockeysarray era completamente innecesario, además, con la función rsort, se ordenan los valores del array en forma descendente que es como señalaste al inicio que querías que se ordenen.

Con respecto a esto:

Cita:
Iniciado por SilviaMontanari Ver Mensaje
Es Obvio que si hago la Consulta es que ya pase por esa página, y un monton más que ofrecen soluciones, y no logré implementarlas.

La verdad que el array es bastante claro para entender que es ordenar por el Campo 2 en forma descendente.

Para responder obviedades prefiero que no escibas nada en la respuesta
Acá nadie es adivino, lo que para ti es obvio quizá no lo es para los demás, además, esa explicación fue tan pobre que definitivamente obvia no fue. Te sugiero que repases la teoría acerca de arrays porque estás cometiendo errores muy básicos, Qazser te explicó y seguiste sin entender. Y por favor, la próxima vez, exprésate con respeto, pues con cosas como estas:

Cita:
Iniciado por SilviaMontanari Ver Mensaje
Para responder obviedades prefiero que no escibas nada en la respuesta
Solamente das a entender que eres una persona irrespetuosa y maleducada, además, de ese modo, no esperes recibir ayuda en el futuro.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 15/04/2014 a las 12:38
  #29 (permalink)  
Antiguo 15/04/2014, 12:44
Avatar de SilviaMontanari  
Fecha de Ingreso: marzo-2014
Mensajes: 35
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ordenar array en php

Cita:
Iniciado por Alexis88 Ver Mensaje
Para ordenar los valores del array al que haces mención, no es necesario crear y llenar un nuevo array, basta con el que generas y alimentas en el bucle de la consulta. Es decir, en este:

Código PHP:
Ver original
  1. while ($fila3 = mysqli_fetch_assoc($result3)) {
  2.     $Pidjoc[] = $fila3['idjockey'];
  3.     $PNomJoc[] = $fila3['jockey'];
  4.     $P1rocan[] = $fila3['1rocan'];
  5.     $P1ropor[] = $fila3['1ropor'];
  6.     $P2dacan[] = $fila3['2dacan'];
  7.     $P2dapor[] = $fila3['2dapor'];
  8.     $P3racan[] = $fila3['3racan'];
  9.     $P3rapor[] = $fila3['3rapor'];
  10.     $Ptrifecta[] = $fila3['trifecta'];
  11.     $P4tocan[] = $fila3['4tocan'];
  12.     $P4topor[] = $fila3['4topor'];
  13.     $Pcuatrifecta[] = $fila3['cuatrifecta'];
  14.     $P5tocan[] = $fila3['5tocan'];
  15.     $P5topor[] = $fila3['5topor'];
  16.     $P6tocan[] = $fila3['6tocan'];
  17.     $P6topor[] = $fila3['6topor'];
  18.     $Ptotalcarrr[] = $fila3['carrtot'];
  19.  
  20.     $p++;
  21. }

Solamente te queda ordenar el array $P1ropor (que es el que colocas como valor del índice (no campo) número 2 del array asociativo $Jockeysarray.

Código PHP:
Ver original
  1. rsort($P1ropor);

Ya teniendo ordenado el array en cuestión, puedes proceder a imprimir los valores en la tabla.

Código PHP:
Ver original
  1. <?php
  2. for ($i = 0, $i < $p; $i++){
  3. ?>
  4.     <tbody>
  5.             <tr>
  6.                 <td><b><?=$PNomJoc[$i]?></b></td>
  7.                 <td><b><?=$P1rocan[$i]?></b></td>
  8.                 <td><b><?=$P1ropor[$i]?></b></td>
  9.                 <td><b><?=$P2dacan[$i]?></b></td>
  10.                 <td><?=$P2dapor[$i]?></td>
  11.                 <td><b><?=$P3racan[$i]?></b></td>
  12.                 <td><?=$P3rapor[$i]?></td>
  13.                 <td><?=$Ptrifecta[$i]?></td>
  14.                 <td><?=$P4tocan[$i]?></td>
  15.                 <td><?=$P4topor[$i]?></td>
  16.                 <td><?=$Pcuatrifecta[$i]?></td>
  17.                 <td><?=$P5tocan[$i]?></td>
  18.                 <td><?=$P5topor[$i]?></td>
  19.                 <td><?=$P6tocan[$i]?></td>
  20.                 <td><?=$P6topor[$i]?></td>
  21.                 <td><?=$Ptotalcarrr[$i]?></td>
  22.                 <td><?=$Anio?></td>
  23.             </tr>
  24.     </tbody>
  25. <?php
  26. }

Eso es todo. Qazser ya te había dado la solución, solamente la sintenticé pues el uso del array $Jockeysarray era completamente innecesario, además, con la función [URL="http://www.php.net/manual/es/function.rsort.php"][B]rsort[/B][/URL], se ordenan los valores del array en forma descendente que es como señalaste al inicio que querías que se ordenen.

Con respecto a esto:



Acá nadie es adivino, lo que para ti es obvio quizá no lo es para los demás, además, esa explicación fue tan pobre que definitivamente obvia no fue. Te sugiero que repases la teoría acerca de arrays porque estás cometiendo errores muy básicos, Qazser te explicó y seguiste sin entender. Y por favor, la próxima vez, exprésate con respeto, pues con cosas como estas:



Solamente das a entender que eres una persona irrespetuosa y maleducada, además, de ese modo, no esperes recibir ayuda en el futuro.

Saludos


Compañero, no soy maleducada, como lo habrá notado en el desarrollo de este problema.

Pero no me gusta que una persona me trate de Idiota mandandome a la Página del manual de PHP, cuando le digo que hace más de 1 díoa que no puedo resolver un Problema.

Con respecto a su ayuda con el comando rsort($P1ropor); ordena la columna desordenando la ubicación con respecto a sus compañeros del registro.

por ej:

Si fueran los datos:

A B 5 Peras frutas
C D 3 Manzanas Naranjas

el Resultado despues de rsort($P1ropor); es:

A B 3 Peras frutas
C D 5 Manzanas Naranjas



Ya Gracias a las ayudas recibidas resolví el problema de la Matriz

pero sigo intentando Ordenarla

Muchas Gracias por ayudar

Sigo esperando sugerencias
  #30 (permalink)  
Antiguo 15/04/2014, 12:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ordenar array en php

No pretendí tratarte de "idiota", el manual de PHP es el primer documento al que cualquier programador del lenguaje debe de consultar en el caso de tener una duda, incluso programadores con mayor experiencia que la tuya, Qazser y yo juntos, consultan el manual pues es imposible pretender saberlo todo.

Con respecto al ordenamiento, si deseas mantener la asociación con los índices, en lugar de rsort, utiliza la función arsort, que realiza el mismo tipo de ordenamiento, pero manteniendo la asociación con los índices.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: Ninguno
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 11:04.