এইচআইএস-এর মাধ্যমে এইচআইএস-এর আকার পরিবর্তন করার জন্য একটি অ্যারে থেকে ট্যাগ ক্লাউড তৈরির সেরা উপায় কী?

আমি নিম্নলিখিত অ্যারে আছে:

$artist = array("the roots", "michael jackson", "billy idol", "more", "and more", "and_YET_MORE");
$count = array(5, 3, 9, 1, 1, 3);

আমি একটি ট্যাগ ক্লাউড তৈরি করতে চাই যা একটি $ গণনাh6 ট্যাগ এবং নীচের নিচ <�কোড> এইচ 1 </কোড> ট্যাগগুলির মধ্যে একটি উচ্চ সংখ্যার সহ শিল্পী থাকবে।

0
যোগ সম্পাদিত
মতামত: 2

6 উত্তর

@Ryan

এটা ঠিক কিন্তু এটি আসলে কম সংখ্যক সঙ্গে ট্যাগ তোলে, বড় এই কোড পরীক্ষা করা হয়েছে:

$artist = array("the roots","michael jackson","billy idol","more","and more","and_YET_MORE");
$count = array(5,3,9,1,1,3);
$highest = max($count);
for ($x = 0; $x < count($artist); $x++) {
    $normalized =  ($highest - $count[$x]+1) / $highest;
    $heading = ceil($normalized * 6); // 6 heading types
    echo "{$artist[$x]}";
}
0
যোগ

সম্ভবত এটি একটি সামান্য একাডেমিক এবং বন্ধ বিষয় কিন্তু এইচএক্স </কোড> ট্যাগ সম্ভবত ডকুমেন্টের কাঠামোর কারণের জন্য ট্যাগ ক্লাউডের সেরা পছন্দ নয় এবং এটি সব ধরণের জিনিস।

হয়তো স্প্যান s বা ol যথাযথ শ্রেণীর বৈশিষ্ট্যাবলী সহ (কিছু CSS সহ)?

0
যোগ

আমার মাথার উপরে...

$artist = array("the roots","michael jackson","billy idol","more","and more","and_YET_MORE");
$count = array(5,3,9,1,1,3);
$highest = max($count);
for (int $x = 0; x < count($artist); $x++)
{
    $normalized = $count[$x] / $highest;
    $heading = ceil($normalized * 6); // 6 heading types
    echo "".$artist[$x]."";
}
0
যোগ

আপনি এটি একটি লগারিদমিক ফাংশন খুব যোগ করতে চান। (Tagadelic থেকে নেওয়া, আমার ড্রুপাল মডিউল ট্যাগ মেঘ তৈরি করতে http://drupal.org/project/tagadelic ):

db_query('SELECT COUNT(*) AS count, id, name FROM ... ORDER BY count DESC');

$steps = 6;
$tags = array();
$min = 1e9;
$max = -1e9;

while ($tag = db_fetch_object($result)) {
    $tag->number_of_posts = $tag->count; #sets the amount of items a certain tag has attached to it
    $tag->count = log($tag->count);
    $min = min($min, $tag->count);
    $max = max($max, $tag->count);
    $tags[$tag->tid] = $tag;
}
// Note: we need to ensure the range is slightly too large to make sure even
// the largest element is rounded down.
$range = max(.01, $max - $min) * 1.0001;

foreach ($tags as $key => $value) {
    $tags[$key]->weight = 1 + floor($steps * ($value->count - $min) / $range);
}

তারপর আপনার ভিউ বা টেমপ্লেট:

foreach ($tags as $tag) {
    $output .= "weight>$tag->nameweight>"
}
0
যোগ

এই পদ্ধতিটি SQL / PostgreSQL fanatics- এর জন্য। এটি ডাটাবেসের মধ্যে সম্পূর্ণ কাজ করে, এবং এটি "স্লিগাইজিড" লিংকের সাথে পাঠ্য প্রিন্ট করে। এটি মতবাদ ব্যবহার করে <�কোড> ORM শুধু SQL কল এর জন্য, আমি বস্তু ব্যবহার করছি না ধরুন আমাদের 10 টি মাপ আছে:

public function getAllForTagCloud($fontSizes = 10)
{
    $sql = sprintf("SELECT count(tag) as tagcount,tag,slug, 
    floor((count(*) * %d )/(select max(t) from 
        (select count(tag) as t from magazine_tag group by tag) t)::numeric(6,2)) 
         as ranking 
         from magazine_tag mt group by tag,slug", $fontSizes);

    $q = Doctrine_Manager::getInstance()->getCurrentConnection();
    return $q->execute($sql);
}

তারপর আপনি কিছু CSS শ্রেণি দিয়ে তাদের মুদ্রণ করুন। tgranking10 (সেরা) থেকে। tagranking1 (সবচেয়ে খারাপ):

<?php foreach ($allTags as $tag): ?>
    
        <?php echo sprintf('', 
            $tag['slug'], $tag['tag']
        ); ?>
    
<?php endforeach; ?>

এবং এটি CSS :

/* put your size of choice */
.tagrank1{font-size: 0.3em;}
.tagrank2{font-size: 0.4em;}
.tagrank3{font-size: 0.5em;} 
/* go on till tagrank10 */

এই পদ্ধতিটি সব ট্যাগ প্রদর্শন করে। আপনি তাদের অনেক আছে, আপনি সম্ভবত আপনার ট্যাগ মেঘ একটি ট্যাগ ঝড় হয়ে না চান সেই ক্ষেত্রে আপনি আপনার কোডটি যুক্ত করুন আপনার এসকিউএল কোয়েরিতে:

-- minimum tag count is 8 --

HAVING count(tag) > 7

এখানেই শেষ

0
যোগ

আমি তার পুরানো পোস্ট জানি আমার দর্শন পোস্ট হিসাবে এটি ভবিষ্যতে কেউ সাহায্য করতে পারে

Here is the tagcloud I used in my website http://www.vbausefulcodes.in/

<?php
$input= array("vba","macros","excel","outlook","powerpoint","access","database","interview questions","sendkeys","word","excel projects","visual basic projects","excel vba","macro","excel visual basic","tutorial","programming","learn macros","vba examples");

$rand_tags = array_rand($input, 5);
for ($x = 0; $x <= 4; $x++) {
    $size = rand ( 1 , 4 );
    echo "" . $input[$rand_tags[$x]] . " " . "";
}

echo "
"; $rand_tags = array_rand($input, 7); for ($x = 0; $x <= 6; $x++) { $size = rand ( 1 , 4 ); echo "" . $input[$rand_tags[$x]] . " " . ""; } echo "
"; $rand_tags = array_rand($input, 5); for ($x = 0; $x <= 4; $x++) { $size = rand ( 1 , 4 ); echo "" . $input[$rand_tags[$x]] . " " . ""; } ?>
0
যোগ