所以,假设我有一个数据库,用户可以在其中添加PHP变成逗号分隔列表的“标签”。用户放入'橙子,辣椒,饼干洋葱葡萄',然后变成'橙子,辣椒,饼干,洋葱,葡萄'。现在,我很确定这很容易,我不需要帮助。但现在这些“标签”列在SQL数据库中。
$individuallist = $databaserow['database_list'];
$arrayoflist = explode(',', $individuallist );
foreach($arrayoflist as $individualtag) {
//Display Tags
}
所以,好的,我可以抓住这些标签并将它们用于与之相关的特定项目。我可以将列表转换为数组并预先显示每个标签。
但是,我需要获取数据库中的所有列表并将它们一起添加。例如:
while($databaserow = mysql_fetch_assoc($databaseresult)) {
$database_array[] = $databaserow ['database_list'];
}
因此这两个示例列表将合并为一个数组
// The Two Lists
// 'orange,peppers,biscuits,onions,grapes'
// 'peppers,orange,market,turkey,juice'
$database_full_list = implode(',', $database_array);
// The Full List
// 'orange,peppers,biscuits,onions,grapes,peppers,orange,market,turkey,juice'
现在我已经拥有完整的标签列表,我需要指望哪些标签是Top 30.这个想法是,随着更多标签被添加到数据库中,前30个标签将按照如何排列很多都有。
橙色(2)
辣椒(2)
Bisquits(1)
市场(1)
等
我不知道如何对这部分编码。
答案 0 :(得分:0)
$split_tags = explode(',', $database_full_list);
$count_tags = array();
foreach($split_tags as $tag) {
if(!array_key_exists($tag, $count_tags))
$count_tags[$tag] = 0;
$count_tags[$tag]++;
}
asort($count_tags);
foreach(array_reverse($count_tags) as $tag => $count)
echo "$tag ($count)<br/>";