Page 1 sur 1

dernier comentaire ?

Posté : 27 avr. 2005, 16:20
par Invité
Bonjour, pouvez-vous m'aider ?
Je voudrais afficher les dernier commenantaire mais pour cela j'ai besoin d'indiquer la marque et référence des article

Structure des 2 tables

Comment faire s'il vous plais pour avoir la requete
Du dernier comentaire

SELECT `comment`.`id`, `comment`.`description`, `produits`.`marque`, `produits`.`reference`, `produits`.`prix`
FROM `comment`, `produits`

Mais le probleme est que le prix n'est pas indiquer
et que je sais pas ou mettre les Where

# Structure de la table `comment`
#

CREATE TABLE comment (
id int(11) NOT NULL auto_increment,
description text NOT NULL,
produit int(10) unsigned NOT NULL default '0',
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY produit (produit,auteur)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Structure de la table `produits`
#

CREATE TABLE produits (
id int(10) unsigned NOT NULL auto_increment,
marque int(10) unsigned NOT NULL default '0',
reference varchar(80) NOT NULL default '',
designation varchar(255) NOT NULL default '',
description text NOT NULL,
prix float NOT NULL default '0',
Remise tinyint(4) NOT NULL default '75',
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY marque (marque,categorie),
KEY transport (transport)
) TYPE=MyISAM;

Posté : 27 avr. 2005, 18:52
par flitox
Avec ça :

Code : Tout sélectionner

SELECT `comment`.`id`, `comment`.`description`, `produits`.`marque`, `produits`.`reference`, `produits`.`prix` FROM `comment`, `produits` ORDER BY id DESC LIMIT 0,1

Posté : 27 avr. 2005, 21:38
par Invité
merci beaucoup je vais essayer

Posté : 30 avr. 2005, 06:57
par Invité
ca ne marche pas, je sais pas quoi faire, j'ai regarder plus en detail

la requete exact est

select p.id,p.reference,p.marque,p.designation,p.prix,m.id,m.nom,c.id,c.nom from produits p,marques m,categories c where m.id=p.marque and c.id=p.categorie and p.categorie in (".$id.produits($id,$where).")

mais je voudrais inclure ''id'' et ''description'' de la table comment

Comment puis je faire ?

# Structure de la table `comment`
#

CREATE TABLE comment (
id int(11) NOT NULL auto_increment,
titre varchar(50) NOT NULL default '',
description text NOT NULL,

PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY produit (produit,auteur)
) TYPE=MyISAM;

Posté : 30 avr. 2005, 07:21
par Cyrano
Principe basique de la jointure.

Pour faire une requête sur plusieurs tables, il est nécessaire d'avoir des points de jonction entre les différentes tables. Ainsi, une table aura une clé primaire et l'autre table aura ce champ en clé étrangère : par exemple, on va trouver la clé primaire id_prod dans la table produit et dans la table comment, on doit trouver un champ id_produit qui servira de clé étrangère.

Pour retrouver les informations sur un produit, la requête devra avoir cette forme:

Code : Tout sélectionner

SELECT nom_prod, prix_prod, descrip_comment FROM produit, comment WHERE produit.id_produit = comment.id_produit
Traduit en francais : Je veux le nom, le prix et la description de produit à partir des tables produit et comment là où l'identifiant produit de la table produit est le même que l'identifiant produit de la table comment.

Voilà, j'espère que c'est moins nébuleux comme ça ?

Posté : 01 mai 2005, 15:14
par Invité
merci je vais essayer tout de suite

Posté : 01 mai 2005, 17:23
par Invité
non j'y arrive pas c'est hyper compliqué

Posté : 01 mai 2005, 17:26
par Cyrano
Ben montre nous ce que tu as fait et on va essayer de débrouiller le problème: pose-toi surtout la question : ta base de donnée a-t-elle une structure cohérente ? Tout part de la structure de ta base, si elle est mal conçue, tu auras toutes les peines du monde à en extraire une information exploitable.

Posté : 01 mai 2005, 20:24
par pjl
Une explication sur les jointures : http://www.commentcamarche.net/sql/sqljoint.php3
Et un cours sur le SQL et la création de tables : http://www.commentcamarche.net/sql/sqlintro.php3

Posté : 03 mai 2005, 23:56
par Invité
alors la mes amis, bravo.

Comme dis les plus grand mathematricien tout est logique.

Merci beaucoup de m'avoir aider

Je ne comprenais rien

l'exemple est parfais, je crois que j'ai compris comment résoudre le probleme

Si quelqu'un a des probleme de compréhension pour les select et where, il suffit juste de lire cet exemple, il m'a ouvert les yeux
Une explication sur les jointures : http://www.commentcamarche.net/sql/sqljoint.php3
Et un cours sur le SQL et la création de tables : http://www.commentcamarche.net/sql/sqlintro.php3

grand merci à vous