Jump to content
×
×
  • Create New...
  • 0

QUETTE mysql tableau + count


mandrilux²
 Share

Question

Bonjour

je suis entrain de réaliser une quette qui permet de récupérer tout les joueurs qui on la meme ip a partir d'une IP saisie

je souhaiterai savoir comment on peux compté le nombre de resultat

 

voila ma requette

 

 mysql_query("SELECT player.name FROM player.player WHERE player.ip'"..ip.."';")

 

comment je peux faire pour compté le nombre de personnage qui ons la meme ip ? 

et comment je peux faire une boucle pour afficher tout  ? 

 

 

merci d'avance

Link to comment
Share on other sites

  • Answers 6
  • Created
  • Last Reply

Top Posters For This Question

Top Posters For This Question

6 answers to this question

Recommended Posts

  • 0

Bonsoir,

 

Tout d'abord, ta requête. Je pense qu'elle marchera mieux comme ceci : mysql_query("SELECT name FROM player.player WHERE ip = '"..ip.."';")

 

Ensuite, pour récupérer le résultat, il faut juste faire :

local pseudo = mysql_query("SELECT name FROM player.player WHERE ip = '"..ip.."';")

 

Enfin, pour les boucles, je suppose que tu veux les afficher IG dans une fenêtre de quête.

Sachant que pseudo est un tableau contenant les noms des personnages reliés à l'ip choisie, il suffit de faire quelque chose comme ça :

 

say_title(ip)

for i=1, table.getn(pseudo[1]) do

     say(pseudo[1])

end

 

Je résume rapidement :

quest get_ip begin

state start begin

	when vnum_pnj.chat."Les adresses IP" with pc.is_gm() begin
		say_title("Les adresses IP")
		say("")
		say("Entrez l'adresse IP voulue.")
		local ip = input() ## je ne sais pas comment tu trouves l'ip des joueurs pour ton code
		local pseudo = mysql_query("SELECT name FROM player.player WHERE ip = '"..ip.."';")
		wait()
		say_title(ip)
		say(table.getn(pseudo[1]).."personnages ont cette adresse IP")
		for i=1, table.getn(pseudo[1]) do
			say(pseudo[1][i])
		end
	end


end
end

 

Si tu veux quelque chose de propre, et pas tout sur la même page, je te conseil de mettre une valeur max à i, puis de faire plusieurs fois l'affichage pour d'autres valeurs, ou de supprimer les noms une fois affichés.

Petit exemple :

local numb = table.getn(pseudo[1])%5
for i=1,numb do
for j=1, 5 do
	say(pseudo[1][i])
	table.remove(pseudo[1], i)
end
end

Ou simplement :

for i=1, table.getn(pseudo[1]) do

say(pseudo[0][1])
table.remove(pseudo[1], 1)
end

 

 

S'il te faut plus d'informations sur les tableaux, boucles, etc.. il existe des tutoriaux sur le forum.

 

Bonne soirée !

Link to comment
Share on other sites

  • 0

j'ai pas mal de soucis

 

j'ai fais une quette toute seul pour comprendre le principe et sa marche pas

 

say("Ecrivez son pseudo :")
local nom = input()
local result = mysql_query("SELECT player.id FROM player.player where player.name='"..nom.."';")
say(""..result[0].."")

 

result[0] ou result[1] devrai me donné l'id du personnage que j'ai tapé (il existe bien dans la BDD et ecrit comme il faux)

cela n'affiche rien

Link to comment
Share on other sites

  • 0

result[0] correspond en gros à result["id"]

Ce qu'il te faut c'est la valeur, donc tu dois faire

result[0][1]

où 1 est la "position" (ça t'affichera le 1er résultat de la requête)

dans le cas d'une boucle :

for i=1, table.getn(result) do

say(result[0])

end

Link to comment
Share on other sites

  • 0
  • Developer

Je vous coupe tout de suite les gens, les tableaux en Lua commencent à l'index 1, merci et au-revoir ^^.

En gros, result[0][1] affichera toujours nil, car l'index 0 n'existe pas. Il faut afficher result[1][1] :).

Link to comment
Share on other sites

 Share



  • Flux d'Activité

    1. 1

      Antares2.to | modern Old-/Middleschool | START 07.10.22 | International Server

    2. 0

      Projet Genesis

    3. 4

      Shiva.international serveur privé metin2 Oldschool Start 16.09.2022

    4. 0

      Metin2 Champions - Accès anticipé

    5. 0

      Barbok

    6. 4

      Shiva.international serveur privé metin2 Oldschool Start 16.09.2022

    7. 2

      Partage Émulateur 2.63

  • Recently Browsing

    • No registered users viewing this page.

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.