![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 12.04.2002 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Mam taka tablice.
Cytat <?php
$data = array( array("dat1",3.6,5), array("dat2",4.0,5), array("dat3",4.2,5), array("dat4",4.1,5), array("dat5",3.8,5.25), array("dat6",3.8,5.46), array("dat7",3.9,5.32), array("dat8",3.9,5.43), array("dat9",3.7,5), array("dat10",3.9,5), ); ?> Dane w tej tablicy wpisane są teraz na stałe, jakiej funkcji użyć aby w wyniku zapytania które zwraca 10 wierszy (po trzy pola w wierszu) przyporządkować te dane do przedstawionej tablicy. Np: I-szy zwrócony wiersz o postaci wiersz[0] wiersz[1] wiersz[2] da taki efekt: Cytat <?php
$data = array( array(wiersz[0],wiersz[1],wiersz[2]), // i tak dalej array("dat2",4.0,5), array("dat3",4.2,5), array("dat4",4.1,5), array("dat5",3.8,5.25), ); ?> czy mozna poslużyć się do tego celu taką konstrukcją Cytat <?php
mysql_connect('localhost','uzytkownik','haslo'); mysql_select_db($db); $result = mysql_query('select kol1,kol2,kol3 from tabela'); while ($row = mysql_fetch_object($result)) { echo $row->kol1; echo $row->kol2; echo $row->kol3; } ?> |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Kod $data=array();
while ($row = mysql_fetch_array($result)) { $data[]=array( 'pole1' => $row[0], 'pole2' => $row[1], 'pole3' => $row[2]); }; //tworzy tablice w postaci: //$data = array( //array('pole1' => 'dat1', 'pole2' => '3.6', 'pole3' => 5), //array('pole1' => 'dat2', 'pole2' => '4.0', 'pole3' => 5), //...itd.) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 12.04.2002 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
fanie byłoby gdyby sie jeszcze przy okazji nie poodwracal porzadek.
nie wiem czemu ale ale powyzsza propozycja Dragossani zadziala tylko wypieprzyla wszystko do gory nogami tzn. wyniki zapytan ktore byly pobierane jako pierwsze wyladowaly na koncu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
:?: pierwsze słyszę...
W zapytaniu dodaj sortowanie: "ORDER BY pole_które_chcesz typ". Typ może być: ASC - rosnąco, albo DESC - malejąco. Powinno rozwiązać problem. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 12.04.2002 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat :?: pierwsze słyszę...
W zapytaniu dodaj sortowanie: "ORDER BY pole_które_chcesz typ". Typ może być: ASC - rosnąco, albo DESC - malejąco. Powinno rozwiązać problem. niechodzi tu o poprawki w zapytaniach do bazy .... pobieram grupe wynikow ograniczona do liczby X sortowanie jest ok. Mam pobrana grupe wynikow (data, wartosc) z okreslonego przedzialu czasowego. kiedy sprawdzam to za pomoca funkcji print jest ok - widze rezultat zapytania zgodny z oczekiwaniami . wrzucam zmienne do pętli Kod $result = mysql_query('select data,wartos from tabela order by data desc limit 10');
$data = array(); while ($row = mysql_fetch_array($result)) { $data[]=array($row[0],$row[1]); }; sprawdzam ponownie ... tym razem wszystko w odwrotnym porzadku :( albo ja zgupialem albo moj komp oszalal ... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 12.04.2002 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
zwracam honor !!! to nie wina petli!!!
ale jak w takim razie przesortowac taka tablice w odwroconym porzadku (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? 8O bo musze tak zrobic... takie zapytanie pobiera wyniki a petla zaczyna od pierwszego wyniku a konczy na ostatnim wiec dostaje wszystko odwrotnie z kolei zapytania nie moge przeredagowac w taki sposob aby zaczynalo od ostatniego wyniku a nie pierwszego. POMOCY!! jak odwrocic kolejnosc tej tablicy ? probowalem juz z funkcja usort dla tablic wieowymiarowych ale nic z tego nie udalo mi sie zdefiniowac takiej funkcji ktora odwroci ta tablice ... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 12.04.2002 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Dobra juz wiem (po ciezkich probach udalo sie - znalazlem w literaturze)
gdyby ktos byl tym zainteresowany ponizej kod sortujacy moja tablice Kod function compare($tabx, $taby)
{ if ($tabx[0] == $taby[0]) return 0; else if ($tabx[0] < $taby[0]) return -1; else return 1; }; usort($data, compare); gdzie $tabx[0] i $taby[0] oznaczaja kolejne tablice tablicy $data a ich indeksy wskazuja na elementy tablicy wg ktorych ma zostac posortowana. ... takie proste, a ja glupi .... ;P |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:47 |