help selection sql

help selection sql - PHP - Programmation

Marsh Posté le 22-11-2002 à 16:03:33    

voili dans les valeurs de ma base de donnée, j'en ai appelée une "couleur"; selon ce que je coche dans mon systeme de postage, ça fait varier la couleur.
 
Serait il possible de demander à la page de n'afficher que les meme couleurs ?    

Reply

Marsh Posté le 22-11-2002 à 16:03:33   

Reply

Marsh Posté le 22-11-2002 à 16:07:00    

Pas claire la question.
 
 
C'est que les mêmes couleurs que quoi que tu veux voir affiché?

Reply

Marsh Posté le 22-11-2002 à 16:10:57    

je réexplique  ;)  
 
Mon site est multi theme; dans mon systeme de postage de "news", on peut cocher tel ou tel theme,  
ses theme sont en faite des variables de couleurs. en gros, qnd tu coche XBOX ça te met de la couleur verte.
 
Ce que je voudrais c pouvoir appeler que tel theme; donc par exemple n'appeler que les news concernant la xbox.
 
On a donc une variable "couleur" commune a tous les meme themes  :jap:

Reply

Marsh Posté le 22-11-2002 à 16:16:39    

je pense qu'il est possible de faire appel a toutes les données de la base de donnée possédant la meme variable "couleur"   :??:  non ?

Reply

Marsh Posté le 22-11-2002 à 16:24:16    

Donc, t'as des thèmes d'un côté avec une couleur pour chacun
 
et des news/articles/autre de l'autre.
 
Bref, tu voudrais assigner à chaque thème une série d'articles.
 
Le plus simple c'est de faire :
 
select table1.donnee
from table1,table2
where table1.couleur=table2.couleur
and theme=$n
 
theme est l'identifiant du thème, si l'identifiant est couleur alors ca donne :
 
select donnee
from table1
where table1.couleur=$n
 
 
Pour faire plus souple, t'utilise une troisième table qui te dit quelles catégories d'articles/de news/autre corespondent à tel thème.
 
DU genre PS1/PS2 pour un même thème
XBOX pour un autre thème
N64/Supernintendo/GameBoy pour un troisième ...
 
Ca donne :
select table1.donnee
from table1,table2,table3
where table1.categorie=table3.categorie
and table3.couleur=table2.couleur
and theme=$n

Reply

Marsh Posté le 22-11-2002 à 16:30:03    

heum
disons que j'ai des articles qui possedent chacuns une variable appelée "couleur".
ce que je voudrais c n'afficher que les articles qui possedent par exemple la variable "couleur" = 76d741
es ce possible ?  :??:  merci de ton aide  :)

Reply

Marsh Posté le 22-11-2002 à 16:44:04    

Spy-master a écrit a écrit :

heum
disons que j'ai des articles qui possedent chacuns une variable appelée "couleur".
ce que je voudrais c n'afficher que les articles qui possedent par exemple la variable "couleur" = 76d741
es ce possible ?  :??:  merci de ton aide  :)  



oui c'est possible.
Sufit de faire un select sur la table avec la couleur comme condition (même principe que pour ton autre problème)


Message édité par omega2 le 22-11-2002 à 16:44:33
Reply

Marsh Posté le 22-11-2002 à 16:46:58    

en modifiant ça ??
 
                  $query = "SELECT *  FROM DVnews where id = $id";
       
if(!isset($id))
{
 $query = "SELECT * FROM DVnews ORDER BY id DESC LIMIT 0,5";
}
 
 
en modifiant ça ?

Reply

Marsh Posté le 22-11-2002 à 16:56:17    

Spy-master a écrit a écrit :

en modifiant ça ??
 
                  $query = "SELECT *  FROM DVnews where id = $id";
       
if(!isset($id))
{
 $query = "SELECT * FROM DVnews ORDER BY id DESC LIMIT 0,5";
}
 
 
en modifiant ça ?



Oui, c'est bien ça.
une requête de base est sous la forme
SELECT liste_des_champs
FROM table
WHERE conditions
 
Essayes de trouver une doc sur SQL, ca sera expliqué ce que tu peux faire avec. (plus exatement, les chôses simple seront expliqué)
Après il te restera plus qu'à comprendre comme utiliser les requêtes et comme construire le code PHP autour pour réaliser tout ce que tu veux (ou presque tout ;) )

Reply

Marsh Posté le 22-11-2002 à 16:57:03    

yes merci  :jap:

Reply

Marsh Posté le 22-11-2002 à 16:57:03   

Reply

Marsh Posté le 22-11-2002 à 17:11:01    

si je comprend bien je dois mettre ça :
 
  $query = "SELECT *  FROM DVnews where 76d741 =  $couleur";

Reply

Marsh Posté le 22-11-2002 à 17:21:50    

ou plutot
 
$query = "SELECT *  FROM DVnews where couleur =  76d741";
 
en tous cas aucun des deux ne foncionne  :(


Message édité par Spy-master le 22-11-2002 à 17:22:09
Reply

Marsh Posté le 22-11-2002 à 17:28:14    

C'est une zone de type texte, il faut que tu l'entoure par des ".
 vu que tes chaines de caractères utilisent le " pour signaler le début et là fin, il faut les faire précéder par des \ .
 
Ta requête deviens :
 
$query = "SELECT *
FROM DVnews where
couleur =  \"$couleur\"";
 
Sinon, tu peux déjà prendre l'habitude de sortir les noms des vairables de tes chaines. Ca t'éviteras d'avoir des problèmes avec les tableaux ou si t'as du texte qui vient se colé au nom de ta variable.
ca donne alors :
 
$query = "SELECT *
FROM DVnews where
couleur =  \"".$couleur."\"";


Message édité par omega2 le 22-11-2002 à 17:28:42
Reply

Marsh Posté le 22-11-2002 à 17:29:02    

j'ai trouvé    ;)  tout seul  :D
 
Un grand merci a vous tous  :jap:  
 
  $query = "SELECT * FROM DVnews WHERE  couleur='$couleur'";


Message édité par Spy-master le 22-11-2002 à 17:29:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed