<?php
//örnek tablo
/*
CREATE TABLE `etiketler` (
`e_id` int(20) NOT NULL auto_increment,
`e_tr` varchar(255) NOT NULL default '',
PRIMARY KEY (`e_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
*/
$host = "localhost";
$username = "root";
$password = " şifre";
$table_name = " db ";
$dbh=mysql_connect ($host, $username, $password) or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ($table_name);
function dost_Linkler($url)
{
$url = trim($url);
$url = strtolower($url);
$find = array('<b>', '</b>');
$url = str_replace ($find, '', $url);
$url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
$find = array('ı','İ');
$url = str_replace($find, 'i', $url);
$find =array('Ş','ş');
$url = str_replace ($find, 's', $url);
$find = array(' ', '"', '&', '&', '\r\n', '\n', '/', '\\', '+', '<', '>');
$url = str_replace ($find, '-', $url);
$find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
$url = str_replace ($find, 'e', $url);
$find = array('í', 'i', 'ì', 'î', 'ï', 'ı', 'I', 'I', 'Í', 'Ì', 'Î', 'Ï', 'İ');
$url = str_replace ($find, 'i', $url);
$find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
$url = str_replace ($find, 'o', $url);
$find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
$url = str_replace ($find, 'a', $url);
$find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
$url = str_replace ($find, 'u', $url);
$find = array('ç', 'Ç');
$url = str_replace ($find, 'c', $url);
$find = array('s', 'ş', 'S', 'Ş');
$url = str_replace ($find, 's', $url);
$find = array('g', 'ğ', 'G', 'Ğ');
$url = str_replace ($find, 'g', $url);
$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
$repl = array('', '-', '');
$url = preg_replace ($find, $repl, $url);
$url = str_replace ('--', '-', $url);
return $url;
}
//etiketleri alacağınız tabloyu seçin
//altta $r[e_tr]; war orda e_tr ye etiketleri tabloda hangi field dan alıyorsanız işte onu yazın...
$q = mysql_query("select * from etiketler order by rand() ");
$etk= "";
if(mysql_num_rows($q) > 0) {
while ($r = mysql_fetch_array($q) ) {
$etk.= str_replace(" ", "_", $r[e_tr])." ";
}
}
// Etiket Arrayımız
$etiketArray = array();
// kelimeler
$etiketler = $etk;
// kelimeleri say
foreach( str_word_count( $etiketler, 1 ) as $etiket )
{
// Tekrarlanmayı silip saymayı attır
array_key_exists( $etiket, $etiketArray ) ? $etiketArray[ $etiket ]++ : $etiketArray[ $etiket ] = 0;
}
// ==============================================================
// = Bulutla Fonksiyonumuz =
// ==============================================================
function bulutla( $etiketArray = array(), $enDusukFont = 12, $enYuksekFont = 30 )
{
$minSay = min( array_values( $etiketArray ) );
$maxSay = max( array_values( $etiketArray ) );
$spread = $maxSay - $minSay;
$bulutArray = array();
$spread == 0 && $spread = 1;
foreach( $etiketArray as $etiket => $say )
{
$size = $enDusukFont + ( $say - $minSay )
* ( $enYuksekFont - $enDusukFont ) / $spread;
$bulutArray[] = '<a style="font-size: ' . floor ( $size ) . 'px'
. '" class="tag_cloud" href="http://siteniz.com/etiket/' . dost_Linkler($etiket)
. '" title="\'' . $etiket . '\' toplam bulunan ' . $say . '">'
. str_replace("_", " ", $etiket) . '</a>';
}
return join( "\n", $bulutArray ) . "\n";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Etiket Bulutu</title>
<style type="text/css" media="screen">
.tag_cloud { padding: 3px; text-decoration: none; }
.tag_cloud:link { color: #81d601; }
.tag_cloud:visited { color: #019c05; }
.tag_cloud:hover { color: #ffffff; background: #69da03; }
.tag_cloud:active { color: #ffffff; background: #ACFC65; }
</style>
</head>
<body>
<fieldset style="background:#FF6600; padding:5px; border:#FF6000 5px dashed; width:480px;">
<legend style="font-size:25px; color:#333333; border:#FF6000 3px solid; background:#FF6600; padding:5px;">Etiket Bulutu</legend>
<div style="width:500px;">
<?php echo bulutla( $etiketArray ); ?>
</div>
</fieldset>
</body>
</html>şu anda işlerden pek zaman bulamadım ama böyle bir şey geçici olarak işinizi görür heralde..
Biraz boşa çıkarsam diğer şekildede sayfalama vs bakarız...