.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);
?>
|