Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sortowanie wyniku z pgsql
Forum PHP.pl > Forum > Przedszkole
wojtekw
Witam, mam pytanie.
Wynik otrzymany w zapytaniu sql ładuję do tabeli:
tab[kol1][$i]
tab[kol2][$i]

Jak posortować tą tabelę wg np kol2 z uprzywilejowaną wartością z kol1?
tak by np wiersz który ma w kol2 daną wartość był pierwszy
Cysiaczek
Po pierwsze - nie do tabeli tylko do tablicy.
Po drugie - Sortować mżesz już w SQL - użyj do tego kluzuli "ORDER BY nazwa_kolumny"
Jeśli jednek koniecznie chcesz sorotwać już w php, to powiem Ci, że musisz kombinować. Przekopiować tablice i po użyciu na kopi jakiejś funckji sortującej (z zachowaniem klucza $i) przenosić w pętli foreach() (użytej na posortowanej tablicy) dane z klucza kol1.

Lepiej jednak zrobić to w SQL.

Pozdrawiam.
wojtekw
ok a jak zrobic w sql tak by dana wartość pomimo sortowania była zawsze pierwsza
Cysiaczek
To to już sobie w php przenieś. Tak jak pokazałeś - używając identyfikatiora wiersza $i.

2 sposoby:

1.
Utwórz nową tablicę o strukturze takiej jak ta z danymi bazy danych i umieść w niej wiersz, który chcesz, aby był na początku.
Skasuj go z tablicy z danymi.
Uzyj array_merge" title="Zobacz w manualu PHP" target="_manual aby połączyć obie tablice.
Twoja wybrana wartoiśc będzie teraz na początku.

2.
Wstawienie wybranego wiersza na początek tablicy przy pomocy funckji array_unshift" title="Zobacz w manualu PHP" target="_manual

Pozdrawiam.
kt1
hhe rozwiazełem :]
zapomaiłęm DESC dodac
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.