Aller au contenu
Rechercher dans
  • Plus d’options…
Rechercher les résultats qui contiennent…
Rechercher les résultats dans…
Bienvenue Invité!

Rejoignez la communauté pour avoir accès à l'entièreté du site! Une fois que vous serez enregistré, vous pourrez créer, aider, partager et discuter avec les membres de la communauté et également participer à l'amélioration du site. Alors, qu'attendez vous ? Enregistrez-vous !

  • 0
BenjiM

en cours Récupérer une donnée SQL

Question

BenjiM
  • Titre du topic
    Récupérer une donnée SQL
  • Quel OS utilisez vous sur votre machine ?
    Linux
  • Chez quel hébergeur êtes vous ?
    Autre
  • Sur quel framework travaillez vous ?
    ESX
  • Quel script utilisez-vous ?
  • Quelles actions avez-vous essayez ?
    Je n'ai pas essayer beaucoup de chose car je m'insperais des scripts ayant "les mêmes requêtes"
  • Quel problème rencontrez vous ?

    Bonsoir, je cherche à récupérer une valeur sur ma table, cette valeur la à pour but de déterminer une rente d'argent, or je n'arrive pas à comprendre mon erreur (Et je n'ai pas d'erreur sur mes consoles) Quelqu'un peut il m'orienté ?

  • La partie du code qui pose problème
    MySQL.Sync.fetchAll("SELECT amount FROM test WHERE name = @name", { 
        ['@name'] = 'item_test',
    }, 
    function(result)
        
        if result < 100 then
            xPlayer.addMoney(100)
        elseif result > 100 then
          	xPlayer.addmoney(50)
        end
    
    end)
  • Lien vers vos logs serveur
  • Lien vers vos logs client
  • Je possède la dernière version de mon framework
    Oui

Partager ce message


Lien à poster
Partager sur d’autres sites

3 réponses à cette question

Messages recommandés

  • 0
JagerBom

coucou a toi, e connais deja la réponse, mais j'ai envie que tu comprennes par toi meme ou est l'erreur. Donc un truc cimple a faire , as tu deja fais un dump de result ? qu'est ce que ca donne?

 

si tu l'as pas encore fait met ceci:

print(ESX.DumpTable(result))

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
BenjiM

Salut ! 

Désolé pour la réponse tardive j'étais en déplacement, au final en repartant d'une feuille blanche j'ai fini par y arriver.

 

Voilà mon nouveau

 

function AddSellC()
  MySQL.Async.execute("UPDATE stock SET sell = sell + 1 WHERE r_id = 1")
end

function PriceC(id,callback)
	if callback ~= nil then
		MySQL.Async.fetchScalar("SELECT p_current FROM stock WHERE r_id = 1", callback)
		return nil
	end
	
	return 
	MySQL.Sync.fetchScalar("SELECT p_current FROM stock WHERE r_id = 1")
end

RegisterServerEvent('fs_job:sell')
AddEventHandler('fs_job:sell', function(source)

	local xPlayer = ESX.GetPlayerFromId(source)
	local price = PriceC(1,callback)
		
	xPlayer.addmoney(price)
			
    AddSellC()
end)

Merci encore !

Modifié par BenjiM

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
JagerBom

oula!  ta fonction 

function PriceC() 

n'est pas pas du tout opti ...

 

fait plustot un truc comme ceci:

 

 

function PriceC(id,cb)
        local result = MySQL.Async.fetchScalar("SELECT p_current FROM stock WHERE r_id = 1")
if result[1] ~= nil then
cb(result[1])
else
cb(nil) -- ou cb(0) depend ce que tu dois retourner
end
end

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • Créer...

Information importante

En utilisant ce site, vous acceptez les présents règlements Conditions d’utilisation, Politique de confidentialité,Règles.