Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Wynik z bazy jako zmienna


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 karololo

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 10.03.2012 16:37

Witam,
Jak pobrać jakiś wynik z bazy i podstawić to pod zmienną?
Mam takie zapytanie:

public client_putinserver(id) {
new authid[36]
new Data[1]
Data[0] = id

get_user_authid(id,authid,35)
format(g_Query,511,"SELECT * FROM `test` WHERE steamid='%s'",authid)
SQL_ThreadQuery(g_SqlHandle,"test",g_Query,Data,1)
return PLUGIN_HANDLED
}


I jak pod zmienną "test1" podstawić wynik z kolumny test?
  • +
  • -
  • 0

#2 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 10.03.2012 16:44

Ten kod powinien Ci pomóc.

http://amxx.pl/pastebin/1uxtvz6y8vokw/



@Edit
Chodzi o funkcję: handle_loadPlayerData

g_iPlayerIndex[ id ] = SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "id" ) );

Tutaj zostaje przypisana zmienna.
"id" to nazwa kolumny w bazie danych.
  • +
  • -
  • 1

#3 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 10.03.2012 19:17

Tzn. chcę uzyskać takie coś:
Mam tabele x: id | test1 | test2 | test3
I teraz jak wyciągnąć z niej zawartość kolumny test1 gdzie test2 = 0 i podstawić sobie to pod zmienną, żeby później można było operować przy jej pomocy.
  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 10.03.2012 19:30

W tabeli zrób także nick ;)
+ zmienna test[3][33]
public sql_load(id)
{
	new szTemp[512]
	new data[1]
	data[0] = id
	formatex(szTemp,charsmax(szTemp),"SELECT * FROM `x` WHERE `name` = '%s'",nick_gracza[id])
	SQL_ThreadQuery(g_SqlTuple,"add_client",szTemp, data, sizeof(data))
}

public add_client(failstate, Handle:query, error[],errcode, data[], datasize)
{
	if(failstate != TQUERY_SUCCESS){
		log_amx("<Query> Error: %s", error);
		return;
	}
	new id = data[0];
	if(!is_user_connected(id) && !is_user_connecting(id))
		return;
	
	if(SQL_NumRows(query))
	{
		test[0][id] = SQL_ReadResult(query, SQL_FieldNameToNum(query,"zloto"))
		test[1][id]  = SQL_ReadResult(query, SQL_FieldNameToNum(query,"srebro"))
		test[2][id]  = SQL_ReadResult(query, SQL_FieldNameToNum(query,"braz"))
		WczytaneDane[id] = true
	} 
	else
	{
		new szTemp[512], data[1]
		data[0] = id
		formatex(szTemp,charsmax(szTemp),"INSERT INTO `x` (`name`,`test`,`test1`,`test2`) VALUES ('%s','%d','%d','%d')", nick_gracza[id], test[0][id],test[1][id],test[2][id])
		SQL_ThreadQuery(g_SqlTuple,"IgnoreHandleInsert",szTemp,data, 1)
	}
}

Użytkownik speedkill edytował ten post 10.03.2012 19:30

  • +
  • -
  • 1

If you can dream it, you can do it.


#5 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 10.03.2012 20:13

Dziękuje Speedkill ;)
  • +
  • -
  • 0

#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 11.03.2012 00:02

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych