Page 1 sur 1

Inventaire PHP

Posté : 11 mai 2012, 23:15
par jeromus30
Bonjour à tous !

J'essaie de créer un inventaire depuis une semaine mais je retrouve plusieurs erreur successive se qui m’en pèche d'arriver à mon but donc je fais appel à vous >_<

J'ai ma table principal appeler pirate : avec comme colonne importante id_pirate
En second, j'ai ma table inventaire avec : id_inventaire(primary) id_item, nbr_item et id_pirate
Pour finir, ma table item avec : id_item, nom_item, type.


Se que je voudrais faire, c'est que si le joueur a un item, sa lui affiche par exemple Potion de mana x5.


Voila le début du script que j'ai finalement arrêter :'(

	<?PHP
		$requete_inventaire = mysql_query('
		SELECT nom_item, COUNT(*) AS nbr_item
		FROM inventaire
		JOIN item USING (id_item)
		WHERE id_pirate="'.mysql_escape_string($_SESSION['id_pirate']).'"
		GROUP BY id_item, nom_item') 
		OR exit(mysql_error());
		
		while ($donnee = mysql_fetch_assoc($requete_inventaire)) {
			echo $donnee['nom_item'];
		}
	?>
Actuellement le problème c'est que j'ai ajouter des donné dans mes table pour faire comme si j'avais des items mais rien ne s'affiche...

Merci d'avance pour votre aide,
Cordialement,
Jeromus30.

Re: Inventaire PHP

Posté : 12 mai 2012, 10:15
par dix2
salut,

execute ta requête SQL directement dans phpmyadmin ou dans un logiciel comme heidisql
pour vérifier si ta requête est correcte

dix2

Re: Inventaire PHP

Posté : 12 mai 2012, 16:46
par jeromus30
Le script marche mais sa affiche toujours 1 dans le nbr_item aulieu d'affiche 10, 11 ou autre

Re: Inventaire PHP

Posté : 14 mai 2012, 05:24
par moogli
Salut,

À tu testé la requête comme demandé plus haut ? (donc en dehors de ton code, en indiquant un "id_pirate" en dur ?

A tu essayer de ne faire le group by que sur une seule colonne ?

Au pire poste les create table des deux tables (obtenu avec phpmyadmin par exemple) et un jeux d'essai.

@+

Re: Inventaire PHP

Posté : 18 mai 2012, 12:05
par Ness
Ta requête ne renvoie pas ce que tu cherches à faire! Tu as un nbr_item pas besoin de COUNT(*).
COUNT() va te retourner le nombre de lignes, ce n'est pas ce que tu veux je suppose... Là si je comprends bien, ton "pirate" peut disposer de plusieurs inventaires, et tu souhaites récupérer le nombre total de l'item X? Il faut faire une SUM(nbr_item).