![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jak w temacie, mam z tym problem xD Lazilem po tutorialach pytalem o pomoc znajomych... i mam pare zlepkow skryptku ktorych nie potrafie zastosowac =P Caly czas pisze we flashu, no i wlasnie stworzylem gre i pierwszy raz mi jest potrzebne mysql i php i jestem w kropce xD moje zlepki to:
(oczywiscie juz stworzylem w bazie danych tabele "highscore" i kolumny id / nick / wynik z odpowiednimi parametrami) Czy bylby ktos w stanie mi pomoc to uporzadkowac i sprawic by zadzialalo ?^^ albo dac linka do jakiegos gotowca... bo tez szukalem i jedyne co znalazlem to toplisty stron www... Pozdrawiam i dziekuje za wszelka pomoc! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Ten skrypt nic nie wyświetli bo nic nie zostanie pobrane z bazy.
Najpierw ( linia 5 ) wywołujesz zapytanie do bazy ... a dopiero ( linia 7 ) tworzysz zapytanie. Zmień kolejność i zobacz co wyjdzie z tego |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
1. Na końcu linijki, gdzie przypisujesz wartość do zmiennej $zapytanie musi być średnik (nie wiem, czy literówka, czy nie).
2. Nigdzie nie wywołujesz przypisanego zapytania. Po przypisaniu do zmiennej $zapytanie musi się pojawić np. $dbr = mysql_query($zapytanie); 3. Wywołujesz pętlę while, ale kompletnie nic w niej nie robisz 4. Czemu ma służyć przypisanie $query = sprintf(...)? Popraw, a następnie napisz, jak to ma działać i co ewentualnie nie działa... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chyba poprawione...
a ma to byc bardzo prosty high score dla gry flashowej kazdy ktory uzyska jakis tam wynik jest dodawany do bazy a nastepnie wyswietlane np top 10 czy top 30 wynikow a jak da rade jeszce dodatkowo obok zrobic jakies top 30 bierzacego tygodnia to juz bajka =) ---------- zmienilem localhost na dokladny host z portem i juz wyskakuje tylko Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource w linicjce 10 Ten post edytował Dende 17.01.2007, 13:16:24 |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
To chyba też nie za bardzo cokolwiek wyświetli ... no ale narazie masz problem z połączeniem do bazy danych na co wskazują Warningi.
Samo wyświetlanie też nie zabangla bo powinno wyglądać to bardziej tak:
No ale najpierw musisz się poprawnie połączyć do bazy. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zmień fragment kodu gdzie tworzysz zapytanie i próbujesz je wykonać na:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Do testow troche wczesniej dorobilem plik html
A aktualnie php wyglada tak:
(wydaje mi sie ze powinno a nie jest (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) za (...)baza.tabela(...) wstawic jakos tworcy_3.highscore (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) a przy aktualnym kodzie wyskakuje Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/tworcy/ftp/gra/skrypt.php on line 12 -------- I poki co w PhpMyAdmin nie widze zadnych rekordow. Ten post edytował Dende 17.01.2007, 14:07:03 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zamień:
na
Ale pozostaje jeszcze jedna kwestia: mianowicie w zapytaniu SELECT pobierasz tylko dwie kolumny: nick i wynik, natomiast w pętli while chcesz wyświetlić wartości z trzech kolumn: dodatkowo id. Więc raczej zapytanie SQL powinno wyglądać tak:
[EDIT] Co robią te linie (raczej co mają robić w Twoim zamyśle): Zmiennych $nick i $wynik nie masz nigdzie zadeklarowanych, więc na pewno nie będzie to działać... Ten post edytował JaRoPHP 17.01.2007, 14:22:41 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
a czy w kolumnie id jak jest Dodatkowe : auto_increment to nie wystarczy ?
bo id ma byc kolejna liczba naturalna ... Oooo... ale jak zmienilem tamto to mi nie wyskoczyl error tylko "SELECT nick, wynik FROM tworcy_3.highscore ORDER BY wynik DESC LIMIT 10" czyli pewno to pierwsze "echo" Ten post edytował Dende 17.01.2007, 14:25:14 |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
I poki co w PhpMyAdmin nie widze zadnych rekordow. Rekordów w bazie nie będzie bo nigdzie ich nie wstawiasz. Musisz dodać to do bazy w podobny sposób jak wyciągasz ( patrząc ze strony kodu php ). Czyli coś takiego:
Dopiero wtedy będziesz miał rekordy w bazie danych. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Przy takim kodzie caly czas zwraca jedynie:
a rekordow dalej nie ma (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale nie wyskakuja errory to chyba dobrze... a zmienne $nick i $wynik nie przychodza z formularza html ? Ten post edytował Dende 17.01.2007, 14:33:30 |
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
a czy w kolumnie id jak jest Dodatkowe : auto_increment to nie wystarczy ? Ale to nie ma nic do tego. Jak pobierasz dane, to określasz, jakie kolumny mają być pobrane, a potem je możesz wyświetlać (ale tylko te, które pobrałeś).Owszem, gdybyć wstawiał dane, to miałoby to znaczenie. Oooo... ale jak zmienilem tamto to mi nie wyskoczyl error tylko ... to pierwsze "echo" To źle? To znaczy, że nie ma poważniejszych błędów.Cytat rekordów w bazie nie będzie bo nigdzie ich nie wstawiasz. Ja mam wrażenie, że ostatnie linijki mają odpowiadać za wstawianie danych, ale nie uzyskałem od autora odpowiedzi na pytanie co mają one robić (zadane dwukrotnie), więc na razie się nie odzywam w tym aspekcie.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
z drugim echo zwraca:
a z konsoli ... nie bardzo wiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) znalazlem jakies okienko do wpisywania komend dla bazy danych... ale co mam w niej wpisac? ------ to z tym id juz lapie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) a to na koncu insert into, tak, mialo wgrywac rekordy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował Dende 17.01.2007, 14:39:59 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ale co mam w niej wpisac? To co dostałeś w drugim echo().Jak nie działa w php, to popraw kod na poniższy, aby otrzymać komunikat o błędzie:
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Konsola "polknela" drugie echo (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i jest rekord;
a blad to : "No database selected" .... ------ ale! po wgraniu do konsoli tamtego zczytuje rekord (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) SELECT id, nick, wynik FROM tworcy_3.highscore ORDER BY wynik DESC LIMIT 101, Dende, 213INSERT INTO highscore (nick,wynik) values ('Dende','213')No database selected ha! mam (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) $zapytanie="INSERT INTO tworcy_3.highscore (nick,wynik) values ('".$_POST['nick']."','".$_POST['wynik']."')"; Dzieki wielkie za pomoc!! Jestem bardzo wdzieczny =) Ten post edytował Dende 17.01.2007, 14:58:07 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Jak się nazywa twoja baza danych? tworcy_3, czy highscore? W zależności od tego, w funkcji mysql_select_db daj prawidłowy argument (prawidłowa nazwa bazy danych).
PS. Skasuj sobie funkcjie echo() - służyły tylko w celach diagnostycznych. [EDIT] Mam wrażenie, że powinno być: i wtedy w zapytaniach mógłbyś używać np: INSERT INTO highscore, a nie INSERT INTO tworcy_3.highscore (przy zapytaniu SELECT analogicznie). Ten post edytował JaRoPHP 17.01.2007, 15:40:23 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Juz to zrobilem mniej wiecej
baza tworcy_3 tabela highscore Koncowy kod juz ladnie dzialajacy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (np dla potomnych (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) )
Ten post edytował Dende 17.01.2007, 16:49:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:29 |