Page 1 sur 1

Problème de récupération de champ dans ma base

Posté : 05 mai 2009, 08:24
par Laharl Faust
Voilà en faite ce que je veux faire est très simple :

1. Je choisi une valeur dans ma liste déroulante et je clique sur le bouton "Ajout".

2. Mon if(isset) fait en sorte de se connecter à la base et de tester si ma sélection n'est pas déjà dans ma base. Si elle y est déjà un message disant "Ce jeu est déjà présent dans votre liste" s'affiche. Sinon ben il s'ajoute simplement dans la base et affiche "Votre sélection à bien été rajouter"

Seulement le problème c'est que mon champ $ecr est toujours vide. Je ne sais pas si ma requête est fausse ou si j'ai fait une autre erreur. Je ne comprend vraiment pas j'ai passé une demi journée la dessus. Ensuite je voudrais vous demandez si ma requête d'ajout est juste parce qu'elle n'ajoute jamais rien. Merci d'avance pour votre aide !

Nom de ma base : succes_jeux
Nom de la table : jeux
Nom des champs que je traite : nom, chemin_image

echo "<form name=\"form1\" Action=\"".$_SERVER["PHP_SELF"]."\" method=\"POST\">";

	echo "<center>";
	echo "<select name=\"jeu\">";
    echo "<option>Soul calibur 4</option>";
    echo "<option>Gears of War</option>";
    echo "<option>Gears of War 2</option>";
    echo "<option>The darkness</option>";
	echo "<option>Eternal Sonata</option>";
	echo "<option>Prince of Persia</option>";
	echo "<option>Resident Evil 5</option>";
	echo "<option>The Last Remanent</option>";
	echo "<option>Fable 2</option>";
	echo "<option>Ninety-Nine Nights</option>";
	echo "<option>Forza Motorsport 2</option>";
	echo "<option>Burnout Paradise</option>";
	echo "<option>Sega Superstar Tennis</option>";
	echo "<option>Bioshock</option>";
	echo "<option>Kameo</option>";
	echo "<option>Call of Duty 4</option>";
	echo "<option>Le pouvoir de la force</option>";
	echo "<option>Boom Boom Rocket</option>";
	echo "<option>Uno</option>";
	echo "<option>Luxor 2</option>";
	echo "<option>Feeding Frenzy</option>";
	echo "<option>Pac-Man C.E.</option>";
	echo "<option>Hexic HD</option>";
    echo "</select>";
	
	echo "<input type=\"submit\" name=\"ajout\" value=\"ajout\" />";
	
	if(isset($_POST['ajout']))
	{	
		mysql_connect("localhost", "root", ""); // Connexion à MySQL
		mysql_select_db("succes_jeux"); // Sélection de la base Succes_jeux  
		
		$jeu = $_POST['jeu'];
		
		$req = mysql_query("SELECT nom FROM jeux WHERE nom = $jeu");
		
			if($ecr == $jeu)
			{
				echo "<br />";
				echo "<br />";
				echo "Ce jeu est déjà présent dans votre liste";
			}
				
			if($ecr == "")
			{
				$chemin = "Image\\".$_POST['jeu'].".jpg";
				$nom2 = $_POST['jeu'];
				mysql_query("INSERT INTO jeux VALUES('',$nom2,$chemin)");
				echo "Votre sélection à bien été rajouter";
			}
						
	}
	
	echo "</form>";

Posté : 05 mai 2009, 08:56
par stopher
Slt ,

mysql_query retourne une ressource , et non le resultat brut de ta requete

http://fr3.php.net/manual/fr/function.mysql-query.php

Tu dois donc d'abord utiliser cette ressource pour faire ressortir tes resultats :
while ($row = mysql_fetch_assoc($ecr)) {
    echo $row['nom'];
    
}
Ici j'ai fait comme dans la doc , à toi d'adatpter à ton cas .. mais ton problème est là .

Note : je te conseille aussi d'échapper un minimum les données qui constituent ta requête , tu peux utiliser entre autre mysql_escape_string() .

Bonne continuation ,

Ch.

Posté : 05 mai 2009, 14:44
par Laharl Faust
Ok, j'avais déjà esayer de prendre mon résultat autrement sous les conseilles.
la j'ai modifié comme ceci :

Code : Tout sélectionner

$req = mysql_query("SELECT nom FROM jeux WHERE nom = $jeu"); ligne 59 => while ($row = mysql_fetch_assoc($req)) { echo $row['nom']; } if($row['nom'] == $jeu) { echo "<br />"; echo "<br />"; echo "Ce jeu est déjà présent dans votre liste"; }
Mais il me retourne l'erreur suivante :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Site\accueil.php on line 59

Pourtant j'ai déjà fait ce genre de requête sur d'autre application et sa fonctionnait parfaitement.
Je comprend vraiment pas :(
Merci de votre patience de votre aide.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 05 mai 2009, 17:07
par AB
Apparemment ta requête ne fonctionne pas.
Un topic spécial débuggage ici http://www.phpfrance.com/forums/voir_sujet-19378.php