Variable $_get dans Mysql_query

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Variable $_get dans Mysql_query

par flotix » 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!!

par Truc » 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

par flotix » 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 ;

par Truc » 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.

par flotix » 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...

par Truc » 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.

par flotix » 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!! :-/

par Truc » 16 avr. 2006, 20:28

Bon et bien voilà c'est fait on a trouvé le 1er Homme possédant une machine flemmarde et feignante qui ne veux pas faire ce qu'on lui ordonne :lol:

On reprend doucement:

Quel est le type du champ "categorie" ?
l'affichage de la requête donne quoi ? => echo $sql;
tu as bien écris "$_GET" et non "$_get" ou autre ?

par flotix » 16 avr. 2006, 20:09

Oui elle passe bien...

par Truc » 16 avr. 2006, 20:04

tu est sûr que la variable GET passe bien ?
echo "variable de l'URL = ".$_GET['cat'];

par flotix » 16 avr. 2006, 19:50

SELECT *
FROM download
WHERE valide =1
AND categorie = 'ps2'
ORDER BY id

ceci donne ne donne rien mais marche quan on inscrit ps2 tt court si on le fet par variable celà ne donne rien...
Mais direct dans mysql rien non plus donc c'est bizarre...

par Truc » 16 avr. 2006, 19:47

Il faut que tu apportes d'autrs éléments pour arranger l'affaire, un "ça marche pas", "non, tjs pas mieux" ne sert pas des masses :wink:

Tu dis que ceci:

Code : Tout sélectionner

SELECT * FROM download WHERE valide =1 ORDER BY id
fonctionnes ?! => donne des enregistrements en retour.

mais que ceci:

Code : Tout sélectionner

SELECT * FROM download WHERE valide =1 AND categorie = 'ps2' ORDER BY id
ne donne plus rien

par flotix » 16 avr. 2006, 19:42

Pourtan jai essayer sans la variable get nikel!! sinn a marche pa cest tres bizarre!!

par Truc » 16 avr. 2006, 19:40

si tu exécutes cette requête:

Code : Tout sélectionner

SELECT * FROM download WHERE valide =1 AND categorie = 'ps2' ORDER BY id
dans phpmyadmin et que tu n'obtiens pas de résultat alors tu n'as pas d'enregistrement qui y correspond :-k

par flotix » 16 avr. 2006, 19:37

Sa à été fait...