par
Esmeralda » 04 mars 2010, 21:36
Bonjour, j'ai un petit problème avec une de mes requêtes et je sollicite donc votre aide.
La partie de la base relationnelle qui nous intéresse est la suivante :
J'ai trois tables, une table people où le champ qui nous intéresse plus particulièrement "timestamp", la table "site", les deux tables étant relier par une table "ln_connecter". Après avoir récupérer le timestamp suivant :
$timestamp_10min = time() - (60 * 10);
je souhaite compter le nombre de personne connecté il y a moins de 10 min sur le site ayant pour id, $id_site :
ce qui me donne la requête suivante :
$sql = "SELECT COUNT(*) FROM ln_connecter,people WHERE ln_connecter.id_site = '$id_site' && people.timestamp > '$timestamp_10min'";
Malheureusement, cela ne marche pas, je vous demande donc votre aide. J'espère avoir été assez clair.
-- Structure de la table `people`
CREATE TABLE IF NOT EXISTS `people` (
`id_people` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ip` varchar(255) NOT NULL,
`timestamp` int(11) NOT NULL,
`id_pays` int(11) NOT NULL,
PRIMARY KEY (`id_people`,`id_pays`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
-- Structure de la table `ln_connecter`
CREATE TABLE IF NOT EXISTS `ln_connecter` (
`id_people` int(11) unsigned NOT NULL,
`id_site` int(11) unsigned NOT NULL,
PRIMARY KEY (`id_people`,`id_site`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Bonjour, j'ai un petit problème avec une de mes requêtes et je sollicite donc votre aide.
La partie de la base relationnelle qui nous intéresse est la suivante :
J'ai trois tables, une table people où le champ qui nous intéresse plus particulièrement "timestamp", la table "site", les deux tables étant relier par une table "ln_connecter". Après avoir récupérer le timestamp suivant : [php]$timestamp_10min = time() - (60 * 10);[/php] je souhaite compter le nombre de personne connecté il y a moins de 10 min sur le site ayant pour id, $id_site :
ce qui me donne la requête suivante :
[php]$sql = "SELECT COUNT(*) FROM ln_connecter,people WHERE ln_connecter.id_site = '$id_site' && people.timestamp > '$timestamp_10min'";[/php]
Malheureusement, cela ne marche pas, je vous demande donc votre aide. J'espère avoir été assez clair.
[sql]
-- Structure de la table `people`
CREATE TABLE IF NOT EXISTS `people` (
`id_people` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ip` varchar(255) NOT NULL,
`timestamp` int(11) NOT NULL,
`id_pays` int(11) NOT NULL,
PRIMARY KEY (`id_people`,`id_pays`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
-- Structure de la table `ln_connecter`
CREATE TABLE IF NOT EXISTS `ln_connecter` (
`id_people` int(11) unsigned NOT NULL,
`id_site` int(11) unsigned NOT NULL,
PRIMARY KEY (`id_people`,`id_site`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
[/sql]