Bonjour ou bonsoir tout le monde ^^
Voilà j'ai un petit soucis et connaissant la communauté je sais que certain sont assez fort :p
Voilà j'ai un petit RPG en PHP qui utilise Mysql et dans le panel administration du jeu on peut attribuer un objet à un monstre avec un taux de loot (taux en % pour obtenir cet objet)
Et sur ce panel il y a un select qui affiche tous les objets du jeu mais j'aimerai ignorer ceux faisant déjà parti du loot du monstre
Voici la requêtes qui affiche les objets du monstre
Voici la requête qui affiche la liste des objets du jeu où on peut les ajouter au monstre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $monsterDropQuery = $bdd->prepare("SELECT * FROM car_monsters, car_items, car_monsters_drops WHERE monsterDropMonsterID = monsterId AND monsterDropItemId = itemId AND monsterDropMonsterId = ? ORDER BY itemName"); $monsterDropQuery->execute([$adminMonsterDropMonsterId]); $monsterDropRow = $monsterDropQuery->rowCount();
Mon souhaits est que de ne plus afficher les objets qui sont déjà sur le monstre (Car on ne peut pas mettre deux fois le même objets)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $itemQuery = $bdd->query("SELECT * FROM car_items ORDER BY itemName"); $itemRow = $itemQuery->rowCount();
Merci de votre aide
Voici la table Monstre et celle qui contient les loots
P.S: j'avais pensé à faire ça mais ça ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 CREATE TABLE IF NOT EXISTS `car_monsters` ( `monsterId` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `monsterPicture` varchar(50) NOT NULL, `monsterName` varchar(30) NOT NULL, `monsterDescription` text NOT NULL, `monsterLevel` int(11) NOT NULL, `monsterHp` int(11) NOT NULL, `monsterMp` int(11) NOT NULL, `monsterStrength` int(11) NOT NULL, `monsterMagic` int(11) NOT NULL, `monsterAgility` int(11) NOT NULL, `monsterDefense` int(11) NOT NULL, `monsterDefenseMagic` int(11) NOT NULL, `monsterWisdom` int(11) NOT NULL, `monsterExperience` int(11) NOT NULL, `monsterGold` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `car_monsters_drops` ( `monsterDropID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `monsterDropMonsterId` int(11) NOT NULL, `monsterDropItemId` int(11) NOT NULL, `monsterDropItemVisible` varchar(3), `monsterDropRate` int(11) NOT NULL, `monsterDropRateVisible` varchar(3) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $itemQuery = $bdd->prepare("SELECT * FROM car_items WHERE (SELECT COUNT(*) FROM car_monsters_drops WHERE monsterDropMonsterId = ? AND monsterDropItemId = itemId) = 0 ORDER BY itemName"); $itemQuery->execute([$adminMonsterDropMonsterId]); $itemRow = $itemQuery->rowCount();
Partager