Sortare randuri din tabel MySQL in array PHP

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
andras
Mesaje: 430

Sortare randuri din tabel MySQL in array PHP

Am interogarea:

Cod: Selectaţi tot

<?php
$SQLcount1="SELECT lista2_id, pozitie2  from lista2 ";  //cimpuri numerice
$rez1 = mysql_query($SQLcount1) or die(mysql_error());
?>
Cum sortez $rez1 dupa valoarea crescatoare a cimpului pozitie2 ? Am incercat asort($rez1) dar nu merge.

- Completare: se poate si direct

Cod: Selectaţi tot

SELECT lista2_id, pozitie2 from lista2 ORDER BY pozitie2
dar vreau sa folosesc functie pentru array.

MarPlo Mesaje: 4343
- mysql_query() e deprecated, inicat e sa treci la PDO sau MySQLi (sunt si mai rapide).
Intai parcurgi randurile din mysql si le adaugi intr-un array pe care apoi il sortezi cum vrei.
Cam asa:

Cod: Selectaţi tot

//codul tau...
$ar1 = [];
while($row = mysql_fetch_array($rez1)) {
  $ar1[$row['pozitie2']] = $row['lista2_id'];
}
asort($ar1);  //sortare

//daca nu mai e folosit $rez1, sterge datele din el pt. optimizare /eliberare memorie
$rez1 =''; 

andras Mesaje: 430
Ceva-ceva tot am optimizat, acum face 319 inregistrari in 14 secunde. Inca e mult, dar face 319 UPDATE-uri si n-am cum sa le scot daca sint in mysql_query(). Pe viitor sigur voi trece la MySQLi, dar la aplicatia asta e mai greu. Multumesc!

Subiecte similare