audiogenic
Messages postés23Date d'inscriptionjeudi 23 février 2012StatutMembreDernière intervention11 mars 2012
-
27 févr. 2012 à 17:30
audiogenic
Messages postés23Date d'inscriptionjeudi 23 février 2012StatutMembreDernière intervention11 mars 2012
-
28 févr. 2012 à 19:27
Bonjour, je vous explique plus clairement :
La table:
id - site - affichages
Les entrées:
1 - www.example1.fr/pageX - 12
2 - www.example2.fr/pageZ - 23
3 - www.example1.fr/pageY - 140
4 - www.example1.fr/pageX - 115
Voilà, dans un premier temps, je souhaiterais:
- additionner les valeurs "affichages" WHERE site='www.example1.fr/pageX' en une seule requête si possible...
Dans un deuxième temps, je souhaiterais:
- additionner toutes les valeurs "affichages" WHERE site='www.example1.fr' peu importe la page...additionner les entrées 1, 3, et 4... avec toujours une seule requete si possible...
audiogenic
Messages postés23Date d'inscriptionjeudi 23 février 2012StatutMembreDernière intervention11 mars 2012 27 févr. 2012 à 18:08
bon pour la première partie j'ai trouvé ça:
<?
$sql = 'SELECT affichages FROM skyplayer.test WHERE site="www.example1.fr/pageX"';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
$affichages+=$data['affichages'];
}
echo $affichages;
?>
mais pour la seconde je cherche encore...
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 27 févr. 2012 à 19:29
Salut,
Perso je te recommande très fortement de revoir ta base de données. Clairement, dans ton cas utiliser 3 tables différentes est bien plus approprié :
- Une table pour les host.
- Une table pour les pages.
- Une table pour les "affichages " (j'ai pas bien compris ce que tu entends pas affichages mais bon).
À partir de ça, quelques jointures et le tour est joué.
Vous n’avez pas trouvé la réponse que vous recherchez ?
audiogenic
Messages postés23Date d'inscriptionjeudi 23 février 2012StatutMembreDernière intervention11 mars 2012 28 févr. 2012 à 18:12
En fait, je fais un inventaire de statistiques de sites distants. Le client inclus une de mes pages renvoyant sur :
http://www.monsite.fr/www.sonsite.com et à partir de l'include je fais un INSERT de tous les paramètres possibles recueillis sur les visiteurs de son site(statistiques,ip,pays,continent,navigateur utilisé, la langue, graphiques...etc...), ainsi que les pages visitées(navigation dans l'arborescence du site du client, pages les plus visitées, moyennes...etc..), bref la totale, comme Xiti mais moins cher ^^.
Alors, la contrainte principale est d'avoir une seule requête pour insérer les données dans la base de données. Pour "affichages" effectivement il sera toujours à "1" lors de l'insertion, mais il me faudra tout de même les additionner en fonction des host et/ou des pages ou autre pour le traitement des statistiques.
Faire plusieurs table...Oui, pourquoi pas ça sera vraiment plus "lisible" et "gérable" mais comme je compte dupliquer cette partie sur tout mes sites web, j'imagine mal faire un insert sur 5 à 10 tables, au niveau de l'optimisation je ne sais pas la solution la plus rapide/optimisée.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 28 févr. 2012 à 19:00
Cadeau :
Tu remarqueras qu'il n'y a pas de champ contenant le nombre de visites, c'est tout à fait normal, le but est de le calculer en comptant le nombre d'entrées dans la table visit. Pourquoi ça ? Parce qu'ainsi on peux obtenir le nombre de visites les X derniers jours et autres dérivés ayant le temps en paramètre, permettant ainsi des statistiques avancées, ce qui est totalement impossible si on garde des nombres dans des champs.
J'insiste sur le fait qu'avec cette solution on a bien une seule requête (un insert) qui est effectuées à chaque fois qu'un visiteur passe sur ta redirection, le seul moment où il est possible d'avoir pas mal de requêtes c'est lors de la fabrications des statistiques. Pour contrer cet effet, tu peux mettre en place toutes sortes de caches (c'est fou tout ce qu'on a inventé à ce niveau), donc ne t'en fais pas. Concentre toi donc sur la propreté du projet.
audiogenic
Messages postés23Date d'inscriptionjeudi 23 février 2012StatutMembreDernière intervention11 mars 2012 28 févr. 2012 à 19:27
Oh là j'avais que je suis très heureusement surpris merci beaucoup si je gagne beaucoup une fois le projet terminé je te recontacterais pour te faire un don. Merci beaucoup, beaucoup.