dernier comentaire ?

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2005, 16:20

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;

Mammouth du PHP | 859 Messages

27 avr. 2005, 18:52

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

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2005, 21:38

merci beaucoup je vais essayer

Invité
Invité n'ayant pas de compte PHPfrance

30 avr. 2005, 06:57

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;

Mammouth du PHP | 19672 Messages

30 avr. 2005, 07:21

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 ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

01 mai 2005, 15:14

merci je vais essayer tout de suite

Invité
Invité n'ayant pas de compte PHPfrance

01 mai 2005, 17:23

non j'y arrive pas c'est hyper compliqué

Mammouth du PHP | 19672 Messages

01 mai 2005, 17:26

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
pjl
ViPHP | 2119 Messages

01 mai 2005, 20:24

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

Invité
Invité n'ayant pas de compte PHPfrance

03 mai 2005, 23:56

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