![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A więc chodzi o to, mam zrobione "SELECT * FROM `pojazdy` WHERE WLASCICIEL=`test`) i pobiera i odczytuje w porządku, jednak jest tak ze mam dwa razy wlasciciela test, jednak z innymi wartosicami, jak moge pobrać oby dwa i zapisac to ?
Przykład, mam coś takiego ID | WLASCICIEL | wartosc 1 | wartosc 2 | wartosc 3 | 1 | test | 56 | 16 | 513 | 2 | test | 25 | 67 | 54 | wlasiciel jest tu i tu taki sam, jednak wartosci sie zmieniają, chce pobrac te i te wartosci, jest taka moziwosc ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 4 Dołączył: 9.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A mógł byś mi powiedzieć na jakiej zasadzie to działa ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 76 Dołączył: 27.12.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Chyba tyle wystarczy, aby zrozumieć? A może nie o to chodzi? Bo lekko nie ogarnąłem o co ci dokładnie chodzi. Edit: Ahh no tak, sorki, z pośpiechu jakoś tak mi się napisało (IMG:style_emoticons/default/tongue.gif) Ten post edytował untorched 23.01.2012, 21:13:42 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pragnę jedynie zauważyć, że $q, czyli zmienna typu result zwracana przez mysql_query jest FALSE tylko wtedy, gdy przy wykonywaniu wystąpił błąd, do sprawdzania ilości zwróconych rekordów trzeba dodatkowo użyć mysql_num_rows().
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hmm...dokladnie chodzi mi o odczytanie tego w języku squirrel. Ma to wyglądac tak: wpisuje komende /pojazdy i ma pokazac jakie pojazdy mam, one są dodane do mysql. Z jednym to nie problem, jednak jak jest ich wiecej musi byc pętla, i z tym mam problem. Może pokazam wam kod jaki mam i spróbojecie coś znalesc.
Kod if(cmd[0] == "/pojazdy" || cmd[0] == "/vehicles") { if (cmd.len() >=2) { sendPlayerMessage(playerid, "WSKAZÓWKA: Użyj /pojazdy", Pomaranczowy); } else { local result = mysql_query(handler, "SELECT * FROM `pojazdy` WHERE WLASCICIEL=\'"+ getPlayerName(playerid) +"\'"); //Wykonanie zapytania do mysql if(result = false) //wykona jesli nie wykonało połączenia { sendPlayerMessage(playerid, "Nie Posiadasz żadnych pojazdów.", Pomaranczowy); } else { sendPlayerMessage(playerid, "Twoje pojazdy: ", Pomaranczowy); while(row = mysql_fetch_assoc(result)) { sendPlayerMessage(playerid, row[ID], Pomaranczowy); } } } mysql_free_result(result); //Na koniec pracy z mysql return 1; } jak daje mysql_fetch_array to wywala błąd ze tego nie zna, wiec dałem mysql_fetch_assoc. to samo z mysql_num_rows, wywala błąd jak to daje. Teraz jest tak ze pojawia sie "Twoje pojazdy: "i tyle, czyli ta pętla nie do konca działa. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 76 Dołączył: 27.12.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Człowieku, trzeba było napisać w jakim języku chcesz to mieć. Przecież w każdym języku pisze się inaczej. Po za tym jak mi się zdaje to nie forum dot. squirrel'a tylko języków programowania web'owego. Jeśli chcesz pisać sobie pluginy do modów GTA San Andreas ewentualnie innych gier z tej serii(domyślam się po kodzie), to poszukaj w ich dokumentacji jak używać ich funkcji..
Ten post edytował untorched 23.01.2012, 21:44:55 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
To jest do GTA IV, tam są funkcje ale do mysql działa to jak w c++, powinno działac to tak samo.
w puginie który instalowałem, czyli dodatkowy mysql są takie polecenia. Kod mysql_connect( string hostname, string username, string password, string database ) -- connects to a server
mysql_close( mysql_handler handler ) -- Closes a mysql-connection mysql_escape_string( mysql_handler handler, string text ) -- escapes a string * It's what you should do to ALL things you're inputting - such as * "SELECT * FROM accounts WHERE username = '" + username + "' AND password = '" + password + "'" * If anyone uses > '; DROP TABLE accounts; -- < as password, then the table is gone. mysql_ping( mysql_handler handler ) -- returns true if you're still connected to the server mysql_errno( mysql_handler handler ) -- returns the last error's number mysql_error( mysql_handler handler ) -- returns the last error's text mysql_query( mysql_handler handler, string query ) -- executes a query mysql_free_result( mysql_result result ) -- free's a result (should do after you're done with each query) mysql_fetch_assoc( mysql_result result ) -- returns a row from the result in associative, converting types automatically. mysql_insert_id( mysql_handler handler ) -- returns the last insert id, obviously only useful with "INSERT INTO ..." mysql_affected_rows( mysql_handler handler ) - returns the number of deleted/updated/whatever'd rows in the raw query Ten post edytował Hosiek 23.01.2012, 21:56:51 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 76 Dołączył: 27.12.2011 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Kod if(cmd[0] == "/pojazdy" || cmd[0] == "/vehicles") { if (cmd.len() >=2) { sendPlayerMessage(playerid, "WSKAZÓWKA: Użyj /pojazdy", Pomaranczowy); } else { local result = mysql_query(handler, "SELECT * FROM `pojazdy` WHERE WLASCICIEL=\'"+ getPlayerName(playerid) +"\'"); //Wykonanie zapytania do mysql if(mysql_affected_rows(handler) < 1 ) //wykona jesli nie wykonało połączenia { sendPlayerMessage(playerid, "Nie Posiadasz żadnych pojazdów.", Pomaranczowy); } else { sendPlayerMessage(playerid, "Twoje pojazdy: ", Pomaranczowy); local rows = mysql_fetch_assoc(result); for(int i = 0; i < sizeof(rows); i++) { sendPlayerMessage(playerid, rows[i](tu nie powinna być jakaś zmienna rzutowana z int na char[]?), Pomaranczowy); } } } mysql_free_result(result); //Na koniec pracy z mysql return 1; } Skoro twierdzisz, że squirrel(nie znam tego języka kompletnie) jest podobnym składniowo językiem do C++, to powinno wyglądać mniej więcej tak.. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kod if(cmd[0] == "/pojazdy" || cmd[0] == "/vehicles") { if (cmd.len() >=2) { sendPlayerMessage(playerid, "WSKAZÓWKA: Użyj /pojazdy", Pomaranczowy); } else { local result = mysql_query(handler, "SELECT * FROM `pojazdy` WHERE WLASCICIEL=\'"+ getPlayerName(playerid) +"\'"); //Wykonanie zapytania do mysql if(mysql_affected_rows(handler) < 1 ) //wykona jesli nie wykonało połączenia { sendPlayerMessage(playerid, "Nie Posiadasz żadnych pojazdów.", Pomaranczowy); } else { sendPlayerMessage(playerid, "Twoje pojazdy: ", Pomaranczowy); local rows = mysql_fetch_assoc(result); for(int i = 0; i < sizeof(rows); i++) { sendPlayerMessage(playerid, rows[i](tu nie powinna być jakaś zmienna rzutowana z int na char[]?), Pomaranczowy); } } } mysql_free_result(result); //Na koniec pracy z mysql return 1; } Skoro twierdzisz, że squirrel(nie znam tego języka kompletnie) jest podobnym składniowo językiem do C++, to powinno wyglądać mniej więcej tak.. troszeczkie zmieniłem ale działa, dzięki wielkie (IMG:style_emoticons/default/smile.gif) Ten post edytował Hosiek 24.01.2012, 16:24:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.09.2025 - 04:57 |