Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

QUETTE mysql tableau + count


mandrilux²

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

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 6
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

6 réponses à cette question

Messages recommandés

  • 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 !

Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
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


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.