par
cris84 » 28 mars 2014, 10:33
Bonjour,
j'ai un souci car je voudrais récupérer un champ selon 3 tables : il s'agit d'un mini forum sur lequel je voudrais récupérer le pseudo du dernier message posté en fonction du sujet.
ci-dessous mes 3 tables et le code PHP, je récupère avec celui-ci l'id du pseudo du dernier message posté, mais je n'arrive pas à faire la liaison avec la table membres.
J'insère dans le champ 'auteur' de forum_reponses l'id du pseudo avec $_SESSION['id']
Merci de votre aide...
<?php
$derniere_reponse = mysql_query('SELECT * FROM membres, forum_sujets, forum_reponses WHERE forum_sujets.id=forum_reponses.correspondance_sujet ORDER BY date_reponse desc') or die (mysql_error());
$data1 = mysql_fetch_array($derniere_reponse); ?>
Dernière réponse par : <a href="profil-<?php echo $data1['id'];?>.html"><?php echo $data1['pseudo'];?></a>
CREATE TABLE `forum_reponses` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`auteur` int(11) NOT NULL,
`message` text COLLATE latin1_general_ci NOT NULL,
`date_reponse` bigint(25) NOT NULL,
`correspondance_sujet` int(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;
CREATE TABLE `forum_sujets` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`auteur` int(11) NOT NULL,
`titre` text COLLATE latin1_general_ci NOT NULL,
`date_derniere_reponse` bigint(25) NOT NULL,
`date_creation` bigint(25) NOT NULL,
`compteur` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;
CREATE TABLE `membres` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pseudo` varchar(40) NOT NULL,
`mot_passe` varchar(255) NOT NULL,
`acces` tinyint(1) NOT NULL DEFAULT '0',
`date_inscription` int(11) NOT NULL,
`email` varchar(255) NOT NULL,
`avatar` varchar(255) NOT NULL,
`compteur` int(11) NOT NULL,
`valide` int(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=55 DEFAULT CHARSET=latin1 AUTO_INCREMENT=55 ;
Bonjour,
j'ai un souci car je voudrais récupérer un champ selon 3 tables : il s'agit d'un mini forum sur lequel je voudrais récupérer le pseudo du dernier message posté en fonction du sujet.
ci-dessous mes 3 tables et le code PHP, je récupère avec celui-ci l'id du pseudo du dernier message posté, mais je n'arrive pas à faire la liaison avec la table membres.
J'insère dans le champ 'auteur' de forum_reponses l'id du pseudo avec $_SESSION['id']
Merci de votre aide...
[php]<?php
$derniere_reponse = mysql_query('SELECT * FROM membres, forum_sujets, forum_reponses WHERE forum_sujets.id=forum_reponses.correspondance_sujet ORDER BY date_reponse desc') or die (mysql_error());
$data1 = mysql_fetch_array($derniere_reponse); ?>
Dernière réponse par : <a href="profil-<?php echo $data1['id'];?>.html"><?php echo $data1['pseudo'];?></a>
[/php]
[sql]CREATE TABLE `forum_reponses` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`auteur` int(11) NOT NULL,
`message` text COLLATE latin1_general_ci NOT NULL,
`date_reponse` bigint(25) NOT NULL,
`correspondance_sujet` int(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;
[/sql]
[sql]CREATE TABLE `forum_sujets` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`auteur` int(11) NOT NULL,
`titre` text COLLATE latin1_general_ci NOT NULL,
`date_derniere_reponse` bigint(25) NOT NULL,
`date_creation` bigint(25) NOT NULL,
`compteur` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;
[/sql]
[sql]CREATE TABLE `membres` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pseudo` varchar(40) NOT NULL,
`mot_passe` varchar(255) NOT NULL,
`acces` tinyint(1) NOT NULL DEFAULT '0',
`date_inscription` int(11) NOT NULL,
`email` varchar(255) NOT NULL,
`avatar` varchar(255) NOT NULL,
`compteur` int(11) NOT NULL,
`valide` int(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=55 DEFAULT CHARSET=latin1 AUTO_INCREMENT=55 ;
[/sql]