Variable $_get dans Mysql_query

Eléphant du PHP | 65 Messages

16 avr. 2006, 20:56

Donc pour reprendre:

Type de champ categorie: text

Le code:
$sql = "SELECT * FROM download WHERE valide=1 AND categorie='". $_GET['cat'] ."' ORDER BY id ";
echo($sql);
$retour = mysql_query($sql);
while ($donnees = mysql_fetch_array($retour))
Affichage du echo($sql) :

Code : Tout sélectionner

SELECT * FROM download WHERE valide=1 AND categorie='ps2' ORDER BY id
Je croit que j'ai vraiment une machine feignante!! :-/

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 avr. 2006, 22:25

Tu travailles sur la bonne base de donnée ? :-k

La requête est correcte et devrait retourner des résultats au moins dans phpmyadmin si tu as des données qui correspondent aux clauses.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 65 Messages

16 avr. 2006, 22:29

Ben voui je suis sur la bonne base c'est vraiment bizarre.
Donner moi un code php ke vous utiliserai personnelement pour cette variable en get etc... pour voir...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 avr. 2006, 22:51

le problème ne se situe pas avec la globale GET puisque tu la récupères bien, la requete est complète.

Le souci est la BD mais à par que les enregistrements ne correspondent pas je vois pas (plus):

Exporte la table (depuis phpmyadmin) et fait un copier coller ici.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 65 Messages

17 avr. 2006, 11:48

Voilà si on voudrait reproduire la table:

Code : Tout sélectionner

CREATE TABLE `download` ( `id` int(11) NOT NULL auto_increment, `titre` varchar(255) collate latin1_german2_ci NOT NULL, `contenu` text collate latin1_german2_ci NOT NULL, `timestamp` bigint(20) NOT NULL, `pseudo` text collate latin1_german2_ci NOT NULL, `valide` enum('0','1') collate latin1_german2_ci NOT NULL, `lienforum` text collate latin1_german2_ci NOT NULL, `titreindex` text collate latin1_german2_ci NOT NULL, `categorie` text collate latin1_german2_ci NOT NULL, KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=21 ;

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 avr. 2006, 12:46

le champ "valide" est un enum il faut donc des quotes:

Code : Tout sélectionner

SELECT * FROM download WHERE valide='1' AND categorie='ps2' ORDER BY id
Et si ce n'est toujours pas ça exporte aussi les données (contenu) de la table

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 65 Messages

17 avr. 2006, 13:33

Ok niquel c'est bon apperement c'était le problème!! merci pour ton aide et surtout pour le temps que tu as pris!!