01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
|
|
<?php
/******************************************************************************/
/* */
/* __ ____ */
/* ___ / / ___ / __/__ __ _____________ ___ */
/* / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-< */
/* / .__/_//_/ .__/___/\___/\_,_/_/ \__/\__/___/ */
/* /_/ /_/ */
/* */
/* */
/******************************************************************************/
/* */
/* Titre : Tag cloud basé sur les recherches */
/* */
/* URL : http://www.phpsources.org/scripts358-PHP.htm */
/* Auteur : nixi54 */
/* Date édition : 18 Mars 2008 */
/* Website auteur : http://www.phpsources.org */
/* */
/******************************************************************************/
$txt='<p>Un tag cloud qui utilise MySQL</p><p>';
// connection sql
$db=mysql_connect('localhost','yourusername','yourpasswd') or die(mysql_error())
;
mysql_select_db('yourbase');
// Pour commencer, nous allons creer une table avec qulques requetes
mysql_query(
"CREATE TEMPORARY TABLE searchterms (term VARCHAR(150) NOT NULL PRIMARY" .
" KEY,nbsearches BIGINT UNSIGNED NOT NULL DEFAULT 1,datesearch DATE NOT NULL)",
$db) or die(mysql_error());
// insertion des enregistrements
mysql_query(
"INSERT INTO searchterms SET term='1st" .
" term',nbsearches=20,datesearch='2007-11-10'",$db);
mysql_query(
"INSERT INTO searchterms SET term='2nd" .
" term',nbsearches=40,datesearch='2007-11-11'",$db);
mysql_query(
"INSERT INTO searchterms SET term='3rd" .
" term',nbsearches=25,datesearch='2007-12-10'",$db);
mysql_query(
"INSERT INTO searchterms SET term='4th" .
" term',nbsearches=200,datesearch='2007-12-01'",$db);
mysql_query(
"INSERT INTO searchterms SET term='5th" .
" term',nbsearches=2,datesearch='2007-11-02'",$db);
mysql_query(
"INSERT INTO searchterms SET term='6th" .
" term',nbsearches=45,datesearch='2007-12-10'",$db);
mysql_query(
"INSERT INTO searchterms SET term='7th" .
" term',nbsearches=120,datesearch='2007-12-11'",$db);
mysql_query(
"INSERT INTO searchterms SET term='8th" .
" term',nbsearches=767,datesearch='2007-11-12'",$db);
mysql_query(
"INSERT INTO searchterms SET term='9th" .
" term',nbsearches=220,datesearch='2007-12-12'",$db);
mysql_query(
"INSERT INTO searchterms SET term='10th" .
" term',nbsearches=10,datesearch='2007-11-13'",$db);
mysql_query(
"INSERT INTO searchterms SET term='11th" .
" term',nbsearches=520,datesearch='2007-12-14'",$db);
// Creation d'une table temporaire qui contient les terms de recherche avec le
// nbre de click par terme
mysql_query(
"CREATE TEMPORARY TABLE tempsearch SELECT term,nbsearches FROM searchterms" .
" ORDER BY datesearch DESC LIMIT 100",$db) or die(mysql_error());
// creation d'une autre table temporaire avec le resultat et la limite que l'on
// souhaite (10 dans l'exemple)
mysql_query(
"CREATE TEMPORARY TABLE tempsearchsorted SELECT term FROM tempsearch ORDER BY" .
" nbsearches DESC LIMIT 10",$db) or die(mysql_error());
// prend le maximum de recherches par terme
$q=mysql_query(
"SELECT max(nbsearches) FROM searchterms,tempsearchsorted WHERE" .
" tempsearchsorted.term=searchterms.term",$db) or die(mysql_error());
$sum=mysql_result($q,);
// Selection des enregistrements ordonné par nom
$q=mysql_query(
"SELECT searchterms.term,searchterms.nbsearches FROM" .
" searchterms,tempsearchsorted WHERE tempsearchsorted.term=searchterms.term" .
" ORDER BY searchterms.term ASC",$db) or die(mysql_error());
while($l=mysql_fetch_assoc($q)) {
$txt.= '<a href="/yourpage.php?item='.urlencode($l['term']).
'" style="font-size:'.($l['nbsearches']/$sum + 0.9).'em">'.$l['term'].'</a> ';
}
$txt.='</p>';
echo $txt;
mysql_close($db);
?>
|