![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Witam,
Chcę zrobić losowanie nazwy broni która gracze będą dostawać. Tabele wyglądają tak: nazwa_bron 1 | Trujący 2 | Hipnotyczny itp. typ_bron 1 | Pistolet 2 | Rewolwer Kod wygląda tak:
Kiedy odpalam kod, nic się nie dzieje. Żadem błąd nie wyskakuje tylko biała pusta strona. O co chodzi? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
var_dump($wylosowana_nazwa);
Już coś wyskakuje? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nawiasów brak:
i tu:
Polecam jakieś dobre IDE ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Btw, po co tyle zapytań jeśli możesz w mysql losować?:
Ten post edytował Hpsi+ 22.04.2011, 08:36:30 -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Btw, po co tyle zapytań jeśli możesz w mysql losować?: Bo niestety to mało optymalne przy dużej liczbie rekordów. To zależy też co ile się takie losowanie odbywa, bo ja często korzystam z RAND() w MySQL jeśli skrypt jest odpalany raz dziennie przed crona -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Bo niestety to mało optymalne przy dużej liczbie rekordów zdaje sobię sprawę z tego ze to średnio optymalne jest. Ale w tym konrketym przypadku: ile może być rodzajów broni 200-300? , ile typów broni 60/100 ? przy takiej ilości rekordów to jest wg mnie dopuszczalne ![]() -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Zrobiłem wersje z losowaniem w mysql
teraz kod wyglada tak:
Wywala błąd: Cytat Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/vhosts/westernlife.pl/httpdocs/losowanie.php on line 9 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/vhosts/westernlife.pl/httpdocs/losowanie.php on line 10 Ognisty Pistolet Jak wyłączę wyświetlanie błędów wszystko działa. Jedynie mam problem z kodowaniem ![]() Plik php jest zapisany w UTF-8 bez BOM, w bazie danych Metoda porównywania napisów utf8_general_ci a mimo wszystko nie pobiera dobrze poslkich nazw. Przykładowo: GĹ�oĹ�ny Pistolet -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze
![]() Pierwsza dwa zapytania są zbędne: W tym wypadku nie są potrzebne, wiec możesz je wywalić. Wpisywałeś dane do bazy z pma czy z poziomu strony www? bo czesto sie zdarza ze jeśli masz stronę kodowana w utf8 , i wrzucasz dane do bazy przez pma to wychodza krzaczki na stronie A bład ci wywalał przez brak nawiasów tam ![]() Nospor - ja bym raczej płakał ![]() Ten post edytował Hpsi+ 22.04.2011, 09:08:44 -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Jak wyłączę wyświetlanie błędów wszystko działa. Nie wiadomo czy tu się śmiać czy płakać ![]() Błąd zapewne generują ci zapytania, które poprzednik kazał ci usunąć. Nie kasuj nigdy wyświetlania błędów, tylko usuwaj te błędy
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
zdaje sobię sprawę z tego ze to średnio optymalne jest. Ale w tym konrketym przypadku: ile może być rodzajów broni 200-300? , ile typów broni 60/100 ? przy takiej ilości rekordów to jest wg mnie dopuszczalne ![]() Znaczy to bardzo trudno nam stwierdzić gdy nie znamy szczegółów, bo jeśli te losowanie będzie generowane przez użytkowników 1k razy na sekund to może spocić jednak serwer ![]() -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Ok, już wszystko działa. Usunąłem te dwa pierwsze zapytania bo faktycznie były zbędne.
Co dziwne kodowanie samo się naprawiło. Wyświetla się już poprawnie. A tak na przyszłość, to w jaki sposób dodawać wpisy do bazy danych aby kodowanie było dobre? Skopiowanie z Notepada++ w kodowaniu UTF8 do pma pewnie nic nie da? Jak jest z tym losowaniem w MYSQL? Bo luq napisał, że nie jest to optymalne rozwiązanie a mój skrypt będzie bardzo dużo razy dziennie odpalany. Powininenem zrobić to po staremu, czy może zostać losowanie w MYSQL? -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
w bazie utf_polish_ci
i przy połączniu z bazą mysql_query('SET NAMES utf8'); |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat A tak na przyszłość, to w jaki sposób dodawać wpisy do bazy danych aby kodowanie było dobre? Skopiowanie z Notepada++ w kodowaniu UTF8 do pma pewnie nic nie da? Tego nie próbowałem więc nie powiem, ale jedna rada - napisz panel administratora gdzie możesz takie wpisy przez przeglądarke dodawać i problemu nie będzie -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:59 |