GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Infu le 03 Septembre 2013, 22:17:20

Titre: Utilisation du SQL sur SA:MP.
Posté par: Infu le 03 Septembre 2013, 22:17:20
Bonsoir,


Il y a un peu moins d'une semaine je me suis mit à apprendre les bases en SQL. Je commence à gérer mais uniquement quand je m'en sers pour PHP. Pour sa-mp je ne sais pas du tout comment m'y prendre  :huh:

Par exemple, je veux récupérer un pseudo à partir de PHP je fais comme ceci:

Code: (php) [Sélectionner]
$reponse = $bdd->query('SELECT pseudos FROM sa-mp');
while ($donnees = $reponse->fetch())
{
     echo $donnees['pseudos'] . '<br />';
}

$reponse->closeCursor();


Mais alors quand j'ai vu les fonctions SQL j'ai tiré cette tête >  :huh:
Et aucun moyen de comprendre, j'utilise ce plugin: http://forum.sa-mp.com/showthread.php?t=56564 (http://forum.sa-mp.com/showthread.php?t=56564)

Si quelqu'un pouvait m'éclairer sur la manière de lire, écrire, remplacer une table à partir d'un plugin mysql ce serait vraiment sympa...  :grin:


Bonne nuit !
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Ssk le 03 Septembre 2013, 22:35:28
Salut, j'ai lu rapidement le wiki de ton plugin et j'ai recodé ton exemple php en pawn.

Code: (pawn) [Sélectionner]
AfficherPseudos()
{
new Result;
new ResultLine[128];

Result = mysql_query("SELECT pseudos FROM sa-mp");
mysql_store_result();

if(Result)
{
while(mysql_fetch_row_format(ResultLine))
{
print(ResultLine);
}
}
mysql_free_result(); // à ne surtout pas oublier !
}

ça peut, peut-être t'aider à comprendre.
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: maxya le 04 Septembre 2013, 13:03:51
Ssk stp ce code va afficher le pseudo tous les pseudo dans la console c'est ca ou je me trompe ? sinon merci moi aussi je cherchais un truc comme ca :)
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Ssk le 04 Septembre 2013, 13:23:41
Si j'ai bien compris comment utiliser le plugin, oui
Titre: Re : Re : Utilisation du SQL sur SA:MP.
Posté par: Gzsume le 04 Septembre 2013, 13:41:52
Ssk stp ce code va afficher le pseudo tous les pseudo dans la console c'est ca ou je me trompe ? sinon merci moi aussi je cherchais un truc comme ca :)

En ayant une table avec comme entrées les pseudonymes.
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Xolokos le 04 Septembre 2013, 19:18:06
J'ai tiré la même tête après, mais, avoir lu 2/3 exemples sur le sujet original et 1 tutoriel avec ce plugin ça allé.

Même si y'a des truc qu'en PHP je pourrais faire mais pas sur SA-MP.
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: GtaManiac le 04 Septembre 2013, 19:29:30
Que ça soit en pawn ou en php les requêtes restent les mêmes puisque c'est du mysql dans les deux cas, c'est juste le langage qui est différent donc ça change un peu la façon de faire.

Surtout en php puisque l'exemple d'infu c'est du pdo, donc un apprentissage en plus pour ceux qui codé uniquement en procédural et surtout ceux qui ont uniquement appris avec l'extension MySQL originale car c'est devenu obsolète depuis 2 semaines avec l'arrivé de php 5.5.
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Infu le 04 Septembre 2013, 19:57:58
Salut Ssk,


Merci de ta réponse. Cependant, j'obtiens des erreurs comme quoi "mysql_query" n'existait pas et comme quoi


Code: (pawn) [Sélectionner]
while(mysql_fetch_row_format(ResultLine))
doit retourner une valeur...  :huh:
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Gzsume le 04 Septembre 2013, 20:47:56
Le plugin est présent ? Tu as inclut la bibliothèque ?
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Infu le 04 Septembre 2013, 21:13:22
Oui oui, tout est fait. Pourtant ils présentent bien cette fonction dans le topic mais alors quand on veut s'en servir bah... walou walou.
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Ssk le 04 Septembre 2013, 21:16:22
Prends ce .inc la,

http://files.g-stylezzz.com/mysql/rel/R7/a_mysql.inc (http://files.g-stylezzz.com/mysql/rel/R7/a_mysql.inc)

ainsi que ce plugin la pour windows

http://files.g-stylezzz.com/mysql/rel/R7/windows/plugin-R7-win32_vs9.rar (http://files.g-stylezzz.com/mysql/rel/R7/windows/plugin-R7-win32_vs9.rar)

et celui la pour linux,

http://files.g-stylezzz.com/mysql/rel/R7/x86/mysql.so (http://files.g-stylezzz.com/mysql/rel/R7/x86/mysql.so)
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Infu le 04 Septembre 2013, 21:22:21
Merci,

Tout en gardant le même code ???


Edit: mysql_query n'est toujours pas "défini"
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Ssk le 04 Septembre 2013, 22:06:36
Si.

Code: (pawn) [Sélectionner]
#define mysql_query(%1,%2,%3,%4) \
mysql_function_query(%4,%1,false,"OnQueryFinish","siii",%1,%2,%3,%4)

Par contre, mon code n'a pas l'air valide avec cette version car les requêtes sont exécutées dans des thread séparés et il faut gérer les données dans des callbacks.
Titre: Re : Utilisation du SQL sur SA:MP.
Posté par: Infu le 04 Septembre 2013, 22:31:18
ah d'accord, encore merci  :smile: