![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Aby nie przeciagac napisze z czym mam problem ;] Posiadam tabele mysql w ktorej mam kolumny: uid, imie, stats, zdobyte W kolumnie UID mam cyfrowe podporzadkowanie do ID Nagrody (ktore sa zapisywane w innej tabeli) W kolumnie STATS mam ilosc wymaganych postow uzytkownika Kolumna ZDOBYTE obiera wartosc 1 (w przypadku zdobycia nagrody) Mam kilka pytan ;] 1. Jak obliczyc ilosc nagrod z tej tabeli ? (UID mam od 0 do 16) jak to policzyc ? Ale niestety mam tez cos takiego ze UID 0 wystepuje kilka razy dla roznych uzytkownikow Wiec jak policzyc ile roznych UID posiadam w tej kolumnie? 2. Jak wypisac na liscie, liste nagrod i osoby ktore ja zdobyly ? Chodzi mi o to, ze jeden skrypt tworzy mi liste z tymi nagrodami (UID 0-16), a obok tych nagrod sprawdza w ktorym wierszu, kolumna `zdobyte` zwraca wartosc 1 (i pobiera z tego wiersza dane['Imie'] ?) 3. Oraz jak dla jednego uzytkownika (np na stronie 'index.php?imie=Komarek') posegregowac w liscie aby najpierw byly wyswietlane nagrody w ktorych `zdobyte` = 1 ? Tak aby byly w kolejnosci rosnacej UID, ale rowniez w zaleznosci od pola 'zdobyte' ? Pozdrawiam i czekam na odpowiedz ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1.
2. Za mało danych, ale bez problemu do zrobienia jednym zapytaniem SQL 3.
-------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Apropos mojego pkt2)...
Zrobilem cos takiego: Kod $wynik = mysql_query("SELECT * FROM `nagrody` WHERE `Imie = Komarek`"); while($wiersz = mysql_fetch_assoc($wynik)) { $id = $wiersz['uid']; $nick = $wiersz['Imie']; $stats = $wiersz['Stats']; $earned = $wiersz['Zdobyte']; echo "<tr> <td>".$id."</td> <td>".$nick."</td> <td>".$stats."</td> <td>".$earned."</td> </tr>"; } Tylko pytanie brzmi czemu mi wywala error: Kod ( ! ) Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\xampp\htdocs\nagrody\index.php on line 193 Linia 193 to ta w ktorej mam uzyta funkcje while... Co wogole znaczy ten blad? Na moj rozum parametr pierwszy (czyli $wynik) powinien byc zrodlem... Ale on jest zrodlem! Wiec co jest nie tak ? ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zalecałbym poczytać o pętli foreach.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Złe zapytanie.
Powinno być: Zwróć uwagę na apostrofy. -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W zmiennej $liczba masz liczbę rekordów, o którą Ci chodziło. "AS liczba" mówi tylko o tym, pod jaką nazwą wyciągnąć dane pole. Gdybyś w tabeli miał kolumny id, nazwa, opis i użył zapytania:
to gdy wyciągniesz to w PHP do zmiennej $wiersz, będziesz miał $wiersz['identyfikator'] , $wiersz['imie'], $wiersz['tabela'] Taki tam prosty przykład ![]() Co do GROUP BY: http://compzone.org/art-Zastosowanie+dyrek...GROUP+BY-9.html -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
A wiec tak mam cos takiego:
Kod $totalach = mysql_query("SELECT COUNT(id) AS totalach FROM `achsk_playerinfo`"); $totalach2 = mysql_result($totalach,0); Ale mam id 0,1,2,3,4,5,...,15,16,0,1,2,3,...,15,16 Chce by pokazalo mi laczna ilosc ROZNYCH id, tym czasem liczy mi wszystkie i wyswietla 34. Jak to zrobic by pokazywalo tylko rozne ID ? ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj materiały, które dałem ![]() -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj materialy, które dalem ![]() ano widzisz i tu lezy pies pogrzebany Probowalem rowniez z wykorzystaniem GROUP BY (dokladnie tak jak napisales) ale mam problem poniewaz wyswietla mi wynik: 2 Jak to zrobic by poprawnie wyswietlic ? ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 31 Dołączył: 12.10.2008 Skąd: WAT Ostrzeżenie: (0%) ![]() ![]() |
jakie grupowanie... :x
-------------------- • Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń... • |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.06.2025 - 05:04 |