Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como Agregar estos campos a un array y despues ordenarlo?

Estas en el tema de Como Agregar estos campos a un array y despues ordenarlo? en el foro de PHP en Foros del Web. Lamento informarte que eso no está permitido, no debes duplicar temas, pues va en contra de las políticas del foro ....

  #31 (permalink)  
Antiguo 05/02/2014, 11:25
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: Crear el siguiente array con php

Lamento informarte que eso no está permitido, no debes duplicar temas, pues va en contra de las políticas del foro.
__________________
«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
  #32 (permalink)  
Antiguo 05/02/2014, 11:30
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Pregunta Respuesta: Crear el siguiente array con php

Ups perdon no sabia que no se podia bueno disculpame aca te dejo lo que actualmente tengo:

Aca genero un array:
Código PHP:
$tikets "<a href='#' rel='".$IdGames."-".$IdAgents."' onClick='openInfoWager(this);'>".$counterTickets."</a>"
array_push($arrGamesPrint, array("Time"          => $anterior['Time'],  
                                 
"NumGame" => $anterior['NumGame'],  
                               
"Teams"       => $anterior['Teams'],  
                               
"Score"        => $anterior['Score'],  
                               
"Tickets"      => $tikets,  
                               
"Risk"          => $counterRisk,  
                               
"WinLoss"   => $counterWinLoss)); 
Una vez finalizado la costruccion del array me queda en este formato:
Cita:
Array
(
[0] => Array
(
[Time] => 06:54:21
[NumGame] => 26117/26118
[Teams] => 1H AC CHIEVO VERONA@1H SS LAZIO ROMA
[Score] => 0 - 1
[Tickets] => <a href="#" rel="376234-752_5718" onclick="openInfoWager(this);">4</a>
[Risk] => 80
[WinLoss] => 897.29
)

[1] => Array
(
[Time] => 12:49:38
[NumGame] => 26233/26234
[Teams] => 1H ATHLETIC BILBAO@1H REAL MADRID
[Score] => 0 - 0
[Tickets] => <a href="#" rel="376177-752_57182623_5714_5718_2623" onclick="openInfoWager(this);">21</a>
[Risk] => 963.55
[WinLoss] => 229.27
)

[2] => Array
(
[Time] => 08:49:44
[NumGame] => 26225/26226
[Teams] => 1H BETIS SEVILLA@1H RCD ESPANYOL BARCELONA
[Score] => 0 - 0
[Tickets] => <a href="#" rel="376169-752_57182623_5714_5718_26235718_2621" onclick="openInfoWager(this);">6</a>
[Risk] => 109
[WinLoss] => 0
)

[3] => Array
(
[Time] => 06:48:55
[NumGame] => 26129/26130
[Teams] => 1H CALCIO CATANIA@1H AS LIVORNO
[Score] => 0 - 0
[Tickets] => <a href="#" rel="376246-752_57182623_5714_5718_26235718_26212623" onclick="openInfoWager(this);">2</a>
[Risk] => 8
[WinLoss] => 0
)
)
Quiero ordenarlo por el Time una vez ordenado recorrerlo e imprimir una tabla de esta manera:
Código PHP:
$response .= "<tr>"
$response .= "<td>".$arrGamesPrint['Time']."</td>"
$response .= "<td>".$arrGamesPrint['NumGame']."</td>"
$response .= "<td>".$arrGamesPrint['Teams']."</td>"
$response .= "<td>".$arrGamesPrint['Score']."</td>"
$response .= "<td>$arrGamesPrint['Tickets']"
$response .= "<td>$".$arrGamesPrint['Risk']."</td>"
$response .= "<td>".$arrGamesPrint['WinLoss']."</td>"
$response .= "</tr>"
Me ayudas amigo ??
  #33 (permalink)  
Antiguo 05/02/2014, 11:35
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: Crear el siguiente array con php

Solo por curiosidad, ¿te diste cuenta que con el último algoritmo que indiqué, se ordenaron los partidos según la hora de cada uno, que los datos de cada partido se asociaron a la hora que les corresponde y que todos estos datos se imprimen en el orden correcto?.

Creo que era lo que necesitabas, ¿no?.
__________________
«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
  #34 (permalink)  
Antiguo 05/02/2014, 11:40
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Exclamación Respuesta: Crear el siguiente array con php

Amigo si lo vi de hecho lo aplique a mi código tal y como tu me lo recomendaste pero me dio el error que te comente anteriormente, por ello me puse a tratar de armar el array de otra forma para encontrar una manera menos compleja de hacerlo...
  #35 (permalink)  
Antiguo 05/02/2014, 11:48
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: Crear el siguiente array con php

En ese algoritmo, cambia $array por $arrGamesPrint y muéstranos el resultado (la impresión de datos).
__________________
«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
  #36 (permalink)  
Antiguo 05/02/2014, 11:53
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Pregunta Respuesta: Crear el siguiente array con php

Efectivamente amigo lo hice pero no me funciono bien, ahora yendo mas atrás en las ayudas que me has dado y conforme al nuevo formato de mi array, hice lo siguiente y me funciono al 100% osea me ordena bien los datos segun la hora, pero el unico problema que tengo ahorita es que no se como recorrerlo para armar la tabla que debo armar. Mi codigo es este, me ayudas ??
Código PHP:
if(count($arrGamesPrint) > 0){                           
    
$array = array();                           
    
$i 0;
 
    foreach (
$arrGamesPrint as $datos_pers){
    
$array[$i]["Time"]    = $datos_pers["Time"];
    
$array[$i]["NumGame"] = $datos_pers["NumGame"];
    
$array[$i]["Teams"]   = $datos_pers["Teams"];
    
$array[$i]["Score"]   = $datos_pers["Score"];
    
$array[$i]["Tickets"] = $datos_pers["Tickets"];
    
$array[$i]["Risk"]    = $datos_pers["Risk"];
    
$array[$i]["WinLoss"] = $datos_pers["WinLoss"];
    
$i++; 
    }
                             
     
sort($array);
                            

  #37 (permalink)  
Antiguo 05/02/2014, 12:16
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: Crear el siguiente array con php

Me sigue pareciendo tan extraño que no te haya funcionado bien el algoritmo que propuse, lo acabo de volver a probar con todos los datos de tu array y marcha perfecto:

Código PHP:
Ver original
  1. $array = array("06:54:21", "26117/26118", "1H AC CHIEVO VERONA@1H SS LAZIO ROMA", "0 - 1", 4, 80, 897.29, "12:49:38", "26233/26234", "1H ATHLETIC BILBAO@1H REAL MADRID", "0 - 0", 21, 963.55, 229.27, "08:49:44", "26225/26226", "1H BETIS SEVILLA@1H RCD ESPANYOL BARCELONA", "0 - 0", 6, 109, 0, "06:48:55", "26129/26130", "1H CALCIO CATANIA@1H AS LIVORNO", "0 - 0", 2, 8, 0, "16:58:33", "1101/1102", "1H SEATTLE SEAHAWKS@1H DENVER BRONCOS", "22 - 0", 223, 21321.8, 6405.31, "13:52:28", "27233/27234", "2H ATHLETIC BILBAO@2H REAL MADRID", "1 - 1", 9, 195, 1012.63, "18:55:37", "2101/2102", "2H SEATTLE SEAHAWKS@2H DENVER BRONCOS", "21 - 8", 202, 34270.58, 12579.73, "09:53:24", "25033/25034", "ARSENAL FC@CRYSTAL PALACE", "2 - 0", 13, 1540.3, -850.59, "23:52:33", "25121/25122", "AS ROMA@FC PARMA", "", 2, 11.3, 0, "11:52:23", "25229/25230", "ATLETICO MADRID@REAL SOCIEDAD", "4 - 0", 12, 383.5, 706.33, "05:03:30", "25221/25222", "CF ELCHE@UD ALMERIA", "1 - 0", 2, 132, 287.58, "08:38:01", "25373/25374", "HERTHA BSC BERLIN@1. FC NÜRNBERG", "1 - 3", 11, 263.4, -26.1, "13:46:09", "25137/25138", "JUVENTUS TURIN@INTER MILANO", "3 - 1", 9, 372.1, 62.32, "18:57:46", "101/102", "SEATTLE SEAHAWKS@DENVER BRONCOS", "43 - 8", 551, 62372.4, -8468.87);
  2. $new = array();
  3. foreach ($array as $dato){
  4.     if (preg_match("/[\d\d:\d\d:\d\d]{8}/", $dato))
  5.         $i = $dato;
  6.  
  7.     $new[$i][] = $dato;
  8. }
  9.  
  10. ksort($new);
  11.  
  12. foreach ($new as $n){
  13.     foreach ($n as $o){
  14.         echo $o . "<br />";
  15.     }
  16.     echo "<br />";
  17. }

Esto imprime lo siguiente:

Código HTML:
Ver original
  1. 05:03:30
  2. 25221/25222
  3. CF ELCHE@UD ALMERIA
  4. 1 - 0
  5. 2
  6. 132
  7. 287.58
  8.  
  9. 06:48:55
  10. 26129/26130
  11. 1H CALCIO CATANIA@1H AS LIVORNO
  12. 0 - 0
  13. 2
  14. 8
  15. 0
  16.  
  17. 06:54:21
  18. 26117/26118
  19. 1H AC CHIEVO VERONA@1H SS LAZIO ROMA
  20. 0 - 1
  21. 4
  22. 80
  23. 897.29
  24.  
  25. 08:38:01
  26. 25373/25374
  27. HERTHA BSC BERLIN@1. FC NÜRNBERG
  28. 1 - 3
  29. 11
  30. 263.4
  31. -26.1
  32.  
  33. 08:49:44
  34. 26225/26226
  35. 1H BETIS SEVILLA@1H RCD ESPANYOL BARCELONA
  36. 0 - 0
  37. 6
  38. 109
  39. 0
  40.  
  41. 09:53:24
  42. 25033/25034
  43. ARSENAL FC@CRYSTAL PALACE
  44. 2 - 0
  45. 13
  46. 1540.3
  47. -850.59
  48.  
  49. 11:52:23
  50. 25229/25230
  51. ATLETICO MADRID@REAL SOCIEDAD
  52. 4 - 0
  53. 12
  54. 383.5
  55. 706.33
  56.  
  57. 12:49:38
  58. 26233/26234
  59. 1H ATHLETIC BILBAO@1H REAL MADRID
  60. 0 - 0
  61. 21
  62. 963.55
  63. 229.27
  64.  
  65. 13:46:09
  66. 25137/25138
  67. JUVENTUS TURIN@INTER MILANO
  68. 3 - 1
  69. 9
  70. 372.1
  71. 62.32
  72.  
  73. 13:52:28
  74. 27233/27234
  75. 2H ATHLETIC BILBAO@2H REAL MADRID
  76. 1 - 1
  77. 9
  78. 195
  79. 1012.63
  80.  
  81. 16:58:33
  82. 1101/1102
  83. 1H SEATTLE SEAHAWKS@1H DENVER BRONCOS
  84. 22 - 0
  85. 223
  86. 21321.8
  87. 6405.31
  88.  
  89. 18:55:37
  90. 2101/2102
  91. 2H SEATTLE SEAHAWKS@2H DENVER BRONCOS
  92. 21 - 8
  93. 202
  94. 34270.58
  95. 12579.73
  96.  
  97. 18:57:46
  98. 101/102
  99. SEATTLE SEAHAWKS@DENVER BRONCOS
  100. 43 - 8
  101. 551
  102. 62372.4
  103. -8468.87
  104.  
  105. 23:52:33
  106. 25121/25122
  107. AS ROMA@FC PARMA
  108.  
  109. 2
  110. 11.3
  111. 0

Probablemente no has implementado bien el algoritmo, por eso tienes problemas. Muéstranos cómo implementaste el algoritmo en tu código.
__________________
«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; 05/02/2014 a las 12:42
  #38 (permalink)  
Antiguo 05/02/2014, 16:28
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Como Agregar estos campos a un array y despues ordenarlo?

Alexis te agradezco mucho me ayudaste demasiado estaba cometiendo un error milimétrico pero tenias razón todo tu código estaba bien y me funciono al 100%

Etiquetas: campos, fecha, siguiente, tabla, variable
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 04:47.