![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam 2 kolumny w tabeli bazy danych: uzytkownik i wartosc w liczbach Chcialbym wyciagnac informacje ktora z kolei jest wybrana przeze mnie wartosc. Przyklad: ID uzytkownika - Wartosc 1 - 5 2 - 3 3 - 8 4 - 10 Przy ograniczeniu id wybranego przeze mnie uzytkownika ( uzytkownik_id='".$_GET['uzytkownik_id']."' ) dla powiedzmy id 3 wyciagnieta wartoscia bedzie 8. Moje pytanie brzmi czy jest jakies zapytanie ktore policzyloby ktora w kolejnosci od najmniejszej do najwiekszej jest to wartosci czyli przy moich wartosciach 3-5-8-10 jest 3 wartoscia i zwroci mi '3' pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo rozumiem roznicy miedzy wartosc a twojapodanawartosc.
Wartosc to nazwa kolumny wiec przy ograniczeniu uzytkownika moja podana wartoscia bedzie po prostu select wartosc. Natomiast wartosc poczatkowa ma byc najwieksza wartoscia wiec domyslam sie ze max(wartosc)? Ale wtedy powinien byc znak wiekszosci a nie mniejszosci. Idac tym tropem zrobilem takie oto zapytanie: Niestety zwraca mi taki oto komunikat : Invalid use of group function Co zrobilem zatem zle? Z pewnoscia duzo zlych rzeczy (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
To źle zrozumiałem,myślałem ,że wartość także sobie ustalasz,heh wpoprzednim poście zapomniałem o from:
Cytat SELECT wartosc,count(wartosc) AS ile FROM DB_WYNIKI WHERE uzytkownik_id='".$_GET['uzytkownik_id']."' ORDER BY wartosc ASC
Ten post edytował Niktoś 1.05.2012, 20:58:46 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
A jak to zapisac z SUMą bo tych wartosci nie mam fizycznie w bazie danych jest ich bardzo duzo i korzystam z funkcji SUM ktora sumuje mi wszystkie wartosci poszczegolnych uzytkownikow.
Probowalem tak ale zwraca blad, chyba taki zapis jest niepoprawny (przy samym wartosc dziala ale nie o to mi za bardzo chodzi (IMG:style_emoticons/default/smile.gif) )
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
@Niktoś: Zaproponowane przez Ciebie rozwiązanie w ogóle nijak się ma do przedstawionego problemu.
@arfer: Zapytanie, które zrobi to co chcesz do prostych nie należy i pewnie nie będzie zbyt optymalne, niemniej wyglądałoby ono tak:
a jako zmienna w PHP:
Przy czym strukturę tabeli DB_WYNIKI wywróżyłem z fusów, a że wróżką najlepszą nie jestem to i zapytanie może nie zadziałać (IMG:style_emoticons/default/wink.gif) Jeśli nie zadziała, to podaj strukturę tabeli DB_WYNIKI. Jeśli natomiast zadziała, to pozostaje jeszcze kwestia sprawdzenia optymalności, bo może szybciej byłoby skorzystać tutaj z funkcji PHP operujących na tablicach. Ten post edytował mortus 1.05.2012, 22:00:19 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Hmm no juz od samego przeczytania glowa mnie rozbolala ale zaraz pokombinuje wcielic to w zycie i dam znac (IMG:style_emoticons/default/smile.gif)
Swoja droga wydawalo mi sie to z teoretycznego punktu widzenia proste w realizacji. Tymbardziej ze utworzylem sobie inne zapytanie w osobnej stronie ktore sumowalo mi wyniki wszystkich uzytkownikow i przedstawialo posortowane w formie tabeli wykorzystujac $lp mialem przy kazdym kolejna liczbe porzadkowa ktora jest szukana przeze mnie wartoscia. Ta liczba porzadkowa to wlasnie pozycja w kolejnosci od najwiekszego do najmniejszego. Myslalem ze jesli tak latwo mozna cos takeigo zrobic w formie tabeli to rownie latwo bedzie wyciagnac ta liczbe porzadkowa z wybranego uzytkownika (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Hmm no juz od samego przeczytania glowa mnie rozbolala ale zaraz pokombinuje wcielic to w zycie i dam znac (IMG:style_emoticons/default/smile.gif) Swoja droga wydawalo mi sie to z teoretycznego punktu widzenia proste w realizacji. Tymbardziej ze utworzylem sobie inne zapytanie w osobnej stronie ktore sumowalo mi wyniki wszystkich uzytkownikow i przedstawialo posortowane w formie tabeli wykorzystujac $lp mialem przy kazdym kolejna liczbe porzadkowa ktora jest szukana przeze mnie wartoscia. Ta liczba porzadkowa to wlasnie pozycja w kolejnosci od najwiekszego do najmniejszego. Myslalem ze jesli tak latwo mozna cos takeigo zrobic w formie tabeli to rownie latwo bedzie wyciagnac ta liczbe porzadkowa z wybranego uzytkownika (IMG:style_emoticons/default/wink.gif) Kolego zmienna $lp była zapewne w opisanej sytuacji licznikiem pętli np. for i w ogóle nie miała nic wspólnego z danymi pobranymi z bazy danych, ale tutaj znowu zgaduje, bo kodu nie mam, żeby się nim "podeprzeć". Wyświetlanie wyników po kolei, a ustalenie kolejności wyników, to dwie różne rzeczy. Ten post edytował mortus 1.05.2012, 22:17:21 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Naturalnie ze tak (IMG:style_emoticons/default/smile.gif) Mialem jedynie nadzieje ze istnieje latwy sposob by zrobic takie zapytanie "w locie" i sprawdzic ktora z kolei jest to wartosc.
Podanych przez ciebie kodow nie rozumiem, wstawiam je na strone w takiej postaci i zwraca mi blad
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Pokaż, jak wstawiasz.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kopiuj wklej to co podales (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Jednak nalegam, skopiuj i wklej to co masz.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Narazie wstawilem w plik php samo twoje zapytanie bez zadnych dodaktowych dzialan i po zapisaniu wyskakuje blad.
lub
Sam juz nie wiem jak to traktowac Ten post edytował arfer 1.05.2012, 22:58:21 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Ale samego zapytania SQL nie możesz tak po prostu wkleić, bo dla interpretera PHP będzie to tylko bezsensowny ciąg bezsensownych znaków. Polecam zrobić to tak:
Można wtedy podejrzeć zapytanie, a w razie błędu w jego wykonaniu od razu uzyskujesz odpowiedni komunikat. EDIT: Pozmieniałem, bo przecież korzystasz z własnych funkcji do obsługi bazy danych ;P Ten post edytował mortus 1.05.2012, 22:39:49 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok mam zapytanie do bazy danych a teraz jaki kod wyswietli ta wartosc bo juz sie pogubilem?
$sql $jakas_tam_zmienna_ale_nie_wiem_jaka_bo_znowu_za_malo_kodu_podales Zapytanie do bazy tworze przez: $result = dbquery("SELECT wartosc"); petle if(dbrows($result) > 0) while ($data = dbarray($result)) wynik ".$data['wartosc']." W twoim kodzie nic nie jest na miejscu nic nie rozumiem (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Ok mam zapytanie do bazy danych a teraz jaki kod wyswietli ta wartosc bo juz sie pogubilem? Zatem:$sql $jakas_tam_zmienna_ale_nie_wiem_jaka_bo_znowu_za_malo_kodu_podales Zapytanie do bazy tworze przez: $result = dbquery("SELECT wartosc"); petle if(dbrows($result) > 0) while ($data = dbarray($result)) wynik ".$data['wartosc']." W twoim kodzie nic nie jest na miejscu nic nie rozumiem (IMG:style_emoticons/default/tongue.gif)
EDIT: Przy czym jeśli zależy Ci tylko i wyłącznie na pobraniu samej pozycji, a id użytkownika i suma jego wyników nie są istotne, to można skorzystać z innego zapytania. Ten post edytował mortus 1.05.2012, 23:06:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:22 |