catégories les plus populaires la semaine dernière

s94r9i
Invité n'ayant pas de compte PHPfrance

12 juin 2011, 14:25

Bonjour,
J'ai une requête SQL qui est sensée me retourner les catégories ayant le plus de questions datant de moins d'une semaine (en gros "catégorie plus active la semaine dernière"). j'utilise cette requête:
SELECT * FROM cat_page, questions ORDER BY COUNT(questions.q_date >= NOW() - 604800) DESC
Mais elle me retourne un résultat faux :/

Pourriez vous me donner une piste SVP?

Merci,

devlop78
Invité n'ayant pas de compte PHPfrance

12 juin 2011, 18:32

Oui, tu ignores totalement la catégories dans ta requpetes, il faudrait faire un COUNT() ou un SUM() avec un GROUP BY questions.id_categorie, ou quelque chose comme ça.

s94r9i
Invité n'ayant pas de compte PHPfrance

13 juin 2011, 12:36

Merci bcp, mon résultat se rapproche un peu plus de ce à quoi je m'attend :D

J'ai donc maintenant cette requête:
SELECT * FROM cat_page, questions WHERE (questions.q_date >= NOW() - 604800) GROUP BY cat_page.cat_ID ORDER BY questions.q_ID DESC
Et voici les 2 tables correspondantes:
CREATE TABLE IF NOT EXISTS `questions` (
  `q_ID` bigint(20) NOT NULL auto_increment,
  `q_jID` int(11) NOT NULL,
  `q_cID` int(11) NOT NULL,
  `q_year` int(11) default NULL,
  `q_conditionID` int(11) NOT NULL,
  `q_manufacturer` varchar(250) default NULL,
  `q_infos` text NOT NULL,
  `q_estimate` varchar(20) default NULL,
  `q_date` bigint(20) NOT NULL,
  `q_title` varchar(250) NOT NULL,
  `q_vues` int(11) default '1',
  `q_used` varchar(3) NOT NULL,
  `q_edition` text,
  PRIMARY KEY  (`q_ID`),
  UNIQUE KEY `q_ID` (`q_ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
et
CREATE TABLE IF NOT EXISTS `cat_page` (
  `cat_ID` int(11) NOT NULL auto_increment,
  `cat_name` varchar(255) NOT NULL,
  `cat_desc` varchar(255) NOT NULL,
  PRIMARY KEY  (`cat_ID`),
  UNIQUE KEY `cat_id` (`cat_ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
Merci par avance pour l'aide,
Damien

s94r9i
Invité n'ayant pas de compte PHPfrance

17 juin 2011, 18:47

Bonjour,

Je me permets un UP pour mon sujet,

Damien