begin process at 2008 07 20 01:52:49
1 213 088 membres
11 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Requete utilisant un IF (?) [ Archives / Problème avec une requête ] (Gamer_man)

Requete utilisant un IF (?) le 01/12/2004 00:13:57

Gamer_man
Membre Club
Bonjour :)

J'ai un petit probleme avec une requete...

J'explique un peu :
Sur mon site, il est possible de poster des commentaires en etant membre ou en ne l'etant pas.
Si un membre poste un message, le champ from_membre dans la db passe a 1, et le champ auteur prends alors l'id de l'auteur.
Si un visiteur poste un message, le champ from_membre dans la db prends la valeur 0, et le champ auteur prends alors le pseudo de l'auteur.

J'aimerai, en une seule requete, pouvoir recuperer les commentaires..


Voici la tete de l'actuelle requete (qui ne produit pas le resultat que j'aurais espéré) :


SELECT commentaires.id AS id_comment,commentaires.titre,commentaires.texte,commentaires.date,
membres.pseudo,membres.avatar,membres.id AS id_membre,

DATE_FORMAT(commentaires.date, '%d/%m/%Y à %H:%i') AS date1

FROM commentaires LEFT JOIN membres ON commentaires.auteur=membres.id

WHERE commentaires.refer='".$rN['id_news']."' AND commentaires.type='news'

ORDER BY commentaires.date ASC



Voici la structure des 2 tables :

CREATE TABLE `commentaires` (
`id` int(255) NOT NULL auto_increment,
`refer` int(255) NOT NULL default '0',
`type` varchar(255) NOT NULL default '0',
`titre` varchar(255) default '0',
`texte` longtext NOT NULL,
`auteur` varchar(255) NOT NULL default '0',
`from_membre` tinyint(1) NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM;

CREATE TABLE `membres` (
`id` int(255) NOT NULL auto_increment,
`pseudoBnet` varchar(100) default NULL,
`pseudo` varchar(30) NOT NULL default '',
`password` varchar(30) NOT NULL default '',
`email` varchar(255) default NULL,
`serveur` varchar(255) NOT NULL default '',
`is_nwco` tinyint(1) NOT NULL default '0',
`is_admin` tinyint(1) NOT NULL default '0',
`admin_of` varchar(255) NOT NULL default '0,0,0,0,0,0',
`is_sadmin` tinyint(1) NOT NULL default '0',
`is_actif` tinyint(1) NOT NULL default '0',
`contrib` int(255) NOT NULL default '0',
`avatar` varchar(255) default NULL,
`last_connect` int(255) NOT NULL default '0',
`page` varchar(255) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;

Re : Requete utilisant un IF (?) le 02/12/2004 12:16:43

Kro2003

Caro

Je ne comprend pas la question "Requete utilisant un If".

Normalement avec ta requête avec 'Left Join' tu prends tous les commentaires qu'ils soient liés ou non à la table membre.
Si tu n'obtient pas ce que tu veux, cela doit venir de ton Where...

A moins que je n'ai pas compris ta question!

Re : Requete utilisant un IF (?) le 02/12/2004 16:43:33

Gamer_man
Membre Club
J'ai eu ma reponse sur un autre forum, merci tout de meme :)
Voici la solution retenue :

SELECT commentaires.id AS id_comment,commentaires.refer,commentaires.titre,commentaires.texte,commentaires.auteur,commentaires.from_membre,DATE_FORMAT(commentaires.date, '%d/%m/%Y à %H:%i') AS date1, IF(commentaires.from_membre=0,commentaires.auteur,CONCAT(membres.pseudo,'+',membres.avatar,'+',membres.id)) AS theMembre FROM commentaires LEFT JOIN membres ON commentaires.auteur=membres.id WHERE commentaires.refer='162' AND commentaires.type='news' ORDER BY commentaires.date ASC


Classé sous : id, not, default, commentaires, varchar

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS