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
-
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:
$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 !
-
Salut, j'ai lu rapidement le wiki de ton plugin et j'ai recodé ton exemple php en pawn.
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.
-
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 :)
-
Si j'ai bien compris comment utiliser le plugin, oui
-
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.
-
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.
-
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.
-
Salut Ssk,
Merci de ta réponse. Cependant, j'obtiens des erreurs comme quoi "mysql_query" n'existait pas et comme quoi
while(mysql_fetch_row_format(ResultLine))
doit retourner une valeur... :huh:
-
Le plugin est présent ? Tu as inclut la bibliothèque ?
-
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.
-
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)
-
Merci,
Tout en gardant le même code ???
Edit: mysql_query n'est toujours pas "défini"
-
Si.
#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.
-
ah d'accord, encore merci :smile: