par
VaN » 12 févr. 2008, 16:41
Bonjour,
j'ai une table CONCOURS, une TABLES USERS, et une TABLE ASSOC, que voici :
CREATE TABLE `concours` (
`concours_id` int(11) NOT NULL auto_increment,
`concours_user_id` int(11) NOT NULL,
`concours_site_id` int(11) NOT NULL,
`concours_url` text NOT NULL,
`concours_reglement_url` text NOT NULL,
`concours_start_date` datetime NOT NULL,
`concours_end_date` datetime NOT NULL,
`concours_type` tinyint(4) NOT NULL,
`concours_participation` tinyint(11) NOT NULL,
`concours_qs` enum('Oui','Non') NOT NULL,
`concours_nb_reponses` tinyint(4) NOT NULL,
`concours_lots` text NOT NULL,
`concours_rating` tinyint(4) NOT NULL,
`concours_activated` tinyint(4) NOT NULL,
PRIMARY KEY (`concours_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
CREATE TABLE `users` (
`user_id` int(11) NOT NULL auto_increment,
`user_login` text character set latin1 collate latin1_general_cs NOT NULL,
`user_pass` text character set latin1 collate latin1_general_cs NOT NULL,
`user_mail` text NOT NULL,
`user_level` tinyint(4) NOT NULL,
`user_activated` tinyint(4) NOT NULL,
`user_activation_key` text character set latin1 collate latin1_general_cs NOT NULL,
`user_logged` tinyint(4) NOT NULL,
`user_last_session` datetime NOT NULL,
`user_last_ip` text NOT NULL,
`user_points` int(11) NOT NULL,
`user_parrain_id` int(11) NOT NULL,
`user_scoot_activated` tinyint(4) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ;
CREATE TABLE `assoc` (
`assoc_user_id` int(11) NOT NULL,
`assoc_concours_id` int(11) NOT NULL,
`assoc_statut` enum('','done','ignored') NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
je souhaiterai afficher la liste des concours, pour un utilisateur donné (j'ai son $_SESSION['user_id']), qui n'ont pas de correspondance dans la table ASSOC. Cette table ASSOC sert à savoir si un utilisateur à fait/ignoré un concours. Lorsque l'utilisateur fait cette requete, cela ajoute une entrée dans la table, avec le concours_id, le user_id, et le statut ('done', 'ignored').
La, j'aimerai qu'une requete sortent tous les concours qui ne sont ni faits, ni ignorés, donc qui n'ont pas encore de correspondance dans la table ASSOC.
j'en suis pour le moment à la, mais je bloque sur la fin de la requete :
$sql = "SELECT concours_id, site_name, concours_end_date, concours_type_title, concours_rating
FROM ".$prefixe."concours, ".$prefixe."concours_type, ".$prefixe."sites, ".$prefixe."assoc
WHERE concours_type = concours_type_id
AND concours_site_id = site_id
AND concours_id = assoc_concours_id
AND concours_activated = 1
AND assoc_user_id = '".$_GET['user_id']."'";
Bonjour,
j'ai une table CONCOURS, une TABLES USERS, et une TABLE ASSOC, que voici :
[quote]CREATE TABLE `concours` (
`concours_id` int(11) NOT NULL auto_increment,
`concours_user_id` int(11) NOT NULL,
`concours_site_id` int(11) NOT NULL,
`concours_url` text NOT NULL,
`concours_reglement_url` text NOT NULL,
`concours_start_date` datetime NOT NULL,
`concours_end_date` datetime NOT NULL,
`concours_type` tinyint(4) NOT NULL,
`concours_participation` tinyint(11) NOT NULL,
`concours_qs` enum('Oui','Non') NOT NULL,
`concours_nb_reponses` tinyint(4) NOT NULL,
`concours_lots` text NOT NULL,
`concours_rating` tinyint(4) NOT NULL,
`concours_activated` tinyint(4) NOT NULL,
PRIMARY KEY (`concours_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
CREATE TABLE `users` (
`user_id` int(11) NOT NULL auto_increment,
`user_login` text character set latin1 collate latin1_general_cs NOT NULL,
`user_pass` text character set latin1 collate latin1_general_cs NOT NULL,
`user_mail` text NOT NULL,
`user_level` tinyint(4) NOT NULL,
`user_activated` tinyint(4) NOT NULL,
`user_activation_key` text character set latin1 collate latin1_general_cs NOT NULL,
`user_logged` tinyint(4) NOT NULL,
`user_last_session` datetime NOT NULL,
`user_last_ip` text NOT NULL,
`user_points` int(11) NOT NULL,
`user_parrain_id` int(11) NOT NULL,
`user_scoot_activated` tinyint(4) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ;
CREATE TABLE `assoc` (
`assoc_user_id` int(11) NOT NULL,
`assoc_concours_id` int(11) NOT NULL,
`assoc_statut` enum('','done','ignored') NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;[/quote]
je souhaiterai afficher la liste des concours, pour un utilisateur donné (j'ai son $_SESSION['user_id']), qui n'ont pas de correspondance dans la table ASSOC. Cette table ASSOC sert à savoir si un utilisateur à fait/ignoré un concours. Lorsque l'utilisateur fait cette requete, cela ajoute une entrée dans la table, avec le concours_id, le user_id, et le statut ('done', 'ignored').
La, j'aimerai qu'une requete sortent tous les concours qui ne sont ni faits, ni ignorés, donc qui n'ont pas encore de correspondance dans la table ASSOC.
j'en suis pour le moment à la, mais je bloque sur la fin de la requete :
[php]$sql = "SELECT concours_id, site_name, concours_end_date, concours_type_title, concours_rating
FROM ".$prefixe."concours, ".$prefixe."concours_type, ".$prefixe."sites, ".$prefixe."assoc
WHERE concours_type = concours_type_id
AND concours_site_id = site_id
AND concours_id = assoc_concours_id
AND concours_activated = 1
AND assoc_user_id = '".$_GET['user_id']."'";[/php]