Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2007, 20h52   #1
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Par défaut [SQL] Problème de requête

Bonjour,

sur mon site, j'ai développé un système de catégorie très basic.
Lorsque j'introduis un article dans ma base, celui-ci s'accompagne d'un champ "category".

J'ai généré dans une colonne, toutes les catégories, avec un SELECT DISTINCT.
& généré un chemin de type : articles.php?cat=categorieA

De l'autre côté sur ma page articles.php

j'ai fait une ou deux conditions pour vérifier que le visiteur est bien issu du menu, et mis mes requêtes pour sélectionner tous les articles dont la catégorie est "categorieA".

ma requête :

mysql_query("SELECT * from articles WHERE category='categorieA' LIMIT 0,10") or die(mysql_error());

( requête après un echo ) ne me retourne rien, pas d'erreur, & surtout pas de contenu.

J'affiche le contenu avec un while($res = mysql_fetch_array($requete)) {
( à nouveau pas d'erreur ).

Si quelqu'un peut éclairer ma lanterne.
Je l'en remercie d'avance.
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 00h05   #2
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
bonsoir,

Comment extrais tu tes données dans ta boucle while??
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 09h49   #3
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Salut,

comme d'hab "$res['champ']"

Cordialement
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 09h53   #4
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Peut-on avoir l'enchaînement du code au lieu de 2/3 bribes par ci par là ?

Tu es sûr au moins d'avoir des articles pour cette catégorie ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h16   #5
Membre éclairé
 
Avatar de Linio
 
Inscription : octobre 2005
Messages : 427
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 427
Points : 304
Points : 304
Citation:
Envoyé par Him Voir le message
Salut,
comme d'hab "$res['champ']"
Cordialement
Vaux mieux utiliser mysql_fetch_assoc si tu fais ça, c'est un peu moins violent.
__________________
Linio
Linio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h38   #6
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
@ linio : oui d'accord, la ce sont les tests pour mettre en place, après j'optimise.

@ Amara : oui pas de problèmes.

Code :
1
2
3
4
5
6
7
8
9
10
11
<?
 	require_once('inc/bdd_utils.php');
	require_once('inc/config_sql.php');
 
		if(!empty($_GET['cat'])) {
				$category = htmlentities($_GET['cat']);
				$connexion = connexion(NOM, PASS, BASE, SERVEUR);
				$requete = mysql_query("SELECT * from articles WHERE category='$category' LIMIT 0,10") or die(mysql_error());
				echo 'mysql_query("SELECT * from articles WHERE category=\''.$category.'\' LIMIT 0,10") or die(mysql_error());';
				while ($res = mysql_fetch_array($requete)) {
?>
Ensuite, j'affiche en html le code de ma "boite" d'article.
avec des codes comme ceci :
Code :
<big><?php echo $res['movie_name']; ?></big>
et en fin :

[code]<?php }} ?>

Re@Ramara : oui je suis sur qu'il y a des données ( au moins 10 ) dans la base avec la catégorie testée.
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h43   #7
Membre éclairé
 
Avatar de binouzzz19
 
Inscription : avril 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2007
Messages : 381
Points : 325
Points : 325
Le meilleur moyen de voir d'où vient l'erreur est encore le débugage !! alors teste en mettant des echo un peu partout pour voir si ca passe dans ton $_GET, dans ton while, la gueule de la requete que tu teste ensuite directement dans MYSQL. ...

Tiens nous au courant ensuite
__________________
Si ton labeur est dur et que tes résultats sont minces, rappelles-toi qu'un jour, le grand chêne a été un gland comme toi !
binouzzz19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h52   #8
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Le echo de ta requête t'affiche bien quelque chose ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 11h51   #9
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
@ binouz... relis...
@ Amara : oui, le echo donne ceci : ( indiqué en début de post )

mysql_query("SELECT * from articles WHERE category='categorieA' LIMIT 0,10") or die(mysql_error());

& mon get donne bien 'categorieA' ( pour répondre à binouz )
et il y a bien une dizaine d'articles avec 'categorieA' dans le champ 'category' de ma base de donnée !
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 13h25   #10
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
bah,

essai avec un extract() pour voir:

Code :
1
2
3
4
5
6
while ($res = mysql_fetch_array($requete)) {
 
    extract($res);    
    echo "<big>$movie_name</big>";//si movie_name est bien le titre d'un champs!!
 
}
++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 14h28   #11
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Je ne connaissais pas cette fonction, je l'appliquerai plus souvent.
mais cela ne résouts en rien le problème.

Alors j'ai appliqué manuellement ma requête dans phpmyadmin,
Code :
SELECT * from videos WHERE category='categorie1' LIMIT 0,10
& celui-ci me retourne :

"Vous devez choisir au moins une colonne à afficher"

?
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 15h04   #12
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
arf^^,

On va y arriver...

Quel est la structure de ta table videos?
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 15h39   #13
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
id_video | bigint(20)
date | date
movie_name | varchar(255)
description | text
short_description | varchar(255)
duree | varchar(10)
taille | varchar(4)
format | varchar(5)
langue | varchar(5)
thumb_folder | varchar(50)
thumb_numb | varchar(5)
category | varchar(255)

Cordialement
( et merci de prendre du temps pour mon problème )
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 15h46   #14
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
essais voir de tout ressortir de ta table:

Code :
1
2
3
4
5
6
7
8
9
$requete = mysql_query("SELECT * from articles LIMIT 0,10") or die(mysql_error());
echo 'mysql_query("SELECT * from articles LIMIT 0,10") or die(mysql_error());';
 
while ($res = mysql_fetch_array($requete)) {
 
    extract($res);
    echo "$movie_name - $category<br />";
 
}
pour voir si cela ne viens pas de la condition where

++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h14   #15
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Il me donne bien 10 titres, avec leurs catégories.
Dont régulièrement mon fameux 'categorie1'

( les 10 mêmes que sur ma page nouveauté ( logique. ) )

Bah oui, depuis que myadmin m'a retourné que je devais sélectionner une colonne au minimum, je me retourne vers le where.
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h18   #16
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
donc si je comprend bien le pb vient du where.
Il faut que la catégorie que tu lui passe en paramètre existe dans tes enregistrements avec la bonne casse!

++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h21   #17
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Bah c'est le cas !

vu que mes liens, sont générés comme ceci :

Code :
1
2
3
4
	$requete = mysql_query("SELECT DISTINCT category FROM videos order by category ASC", $connexion) or die(mysql_error());
	while ($res = mysql_fetch_array($requete)) {
		echo '<img src="img/point.gif" width="10" height="6"> <a href="videos.php?cat='.$res['category'].'" class="L_FUSHIA14">'.$res['category'].'</a><br>';
	}

ils existent donc bien, & la casse est IDENTIQUE !
Je suis désemparer, tout me semble si logique...
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h26   #18
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
j'apercois une erreur et elle vient surement de là!!

Code :
echo '<img src="img/point.gif" width="10" height="6"> <a href="videos.php?cat='.$res["category"].'" class="L_FUSHIA14">'.$res["category"].'</a><br>';
Tes $res doivent avoir des guillemets et non des apostrophes!!! :p
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h31   #19
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ca devrait rien changer à mon avis enfin bref...

Vraiment space cette histoire

Dans l'URL tu vois bien la catégorie comme il faut ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 16h37   #20
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Oui, les " ou les ' n'y changeront rien.
( la preuve dans le query retourné par le echo, qui est bien remplis. )

Oui je vois bien l'url,
de toutes façon j'ai mis une condition,
si l'url n'étais pas un nom de film de la base,
il affiche : "hahaha"
& si elle est dedans le contenu.

mais il ne m'affiche rien... & je ne comprends rien... et visiblement mon code est bon... bref :/ je ne pige pas ce qui se passe

j'ai même essayé en tappant manuellement l'adresse :

site.com/videos.php?cat=CategorieA

& la bien sur cela ne marche plus, car les données sont en GET & pas en POST !
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h30.


 
 
 
 
Partenaires

Hébergement Web