Nous présentons ici la méthode PHP de mise en évidence des liens avec un nombre élevé de clics sur la page. Elle s'inspire principalement d'un certain plug-in de WordPress. Les amis qui en ont besoin peuvent se référer à
. Contexte et exigences
C'est comme dire que le côté gauche de la navigation de la page est constitué de catégories et qu'il existe de nombreux liens sous les catégories. Maintenant, je veux compter celui avec le plus de clics dans toutes les catégories, et faire un traitement spécial sur sa couleur !
La structure générale des données est la suivante :
{ "content": [ { "id": "1", "name": "htmldrive", "url": "http://www.htmldrive.net/", "cate": "前端开发", "clickpoint": "100" }, { "id": "2", "name": "17素材网", "url": "http://www.17sucai.com/", "cate": "前端开发", "clickpoint": "151" }, { "id": "3", "name": "阿里妈妈图标库", "url": "http://www.iconfont.cn/", "cate": "前端开发", "clickpoint": "2" }, { "id": "53", "name": "Animate.css", "url": "http://www.haorooms.com/uploads/example/Animatecss/", "cate": "前端开发", "clickpoint": "21" }, { "id": "55", "name": "Dafont", "url": "http://www.dafont.com/", "cate": "字体", "clickpoint": "1" } ] }
Comment classer et mettre en valeur ces données ?
Méthodes et idées
La meilleure façon de le gérer est de l'aligner dans le back-end PHP.
Idée : nous pouvons créer un nouveau tableau de transition, parcourir le tableau d'origine, créer un tableau classifié, puis mettre la valeur maximale et l'ID du nombre de clics dans ce tableau. Par comparaison, obtenez l'ID avec le plus de clics et le nombre de clics dans la catégorie, puis placez l'ID avec le plus de fois dans un nouveau tableau, parcourez les données d'origine et utilisez inarray() pour déterminer si l'ID avec le la plupart du temps, c'est dans le tableau, si oui, ajoutez un champ indicateur 1 aux données, sinon, ce sera 0. Ensuite, le champ marqué d'un 1 est celui avec le plus de clics dans la catégorie.
La sortie json après ajustement est :
{ "content": [ { "id": "1", "name": "htmldrive", "url": "http://www.htmldrive.net/", "cate": "前端开发", "clickpoint": "100", "max": 0 }, { "id": "2", "name": "17素材网", "url": "http://www.17sucai.com/", "cate": "前端开发", "clickpoint": "151", "max": 1 }, { "id": "3", "name": "阿里妈妈图标库", "url": "http://www.iconfont.cn/", "cate": "前端开发", "clickpoint": "2", "max": 0 }, { "id": "53", "name": "Animate.css", "url": "http://www.haorooms.com/uploads/example/Animatecss/", "cate": "前端开发", "clickpoint": "21", "max": 0 }, { "id": "55", "name": "Dafont", "url": "http://www.dafont.com/", "cate": "字体", "clickpoint": "1", "max": 0 } ] }
Le code php est le suivant :
$sql = "select id,name,url,cate,clickpoint from commonwebsite order by id asc "; $res= $db->getAll($sql); $temp_arr = array(); foreach ($res as $key => $value) { if(!isset($temp_arr[$value['cate']])){ $temp_arr[$value['cate']] = array(); $temp_arr[$value['cate']]['max'] = $value['clickpoint']; $temp_arr[$value['cate']]['id'] = $value['id']; }else{ if($value['clickpoint']>$temp_arr[$value['cate']]['max']){ $temp_arr[$value['cate']]['max'] = $value['clickpoint']; $temp_arr[$value['cate']]['id'] = $value['id']; } } } $temp_id = array(); //创建一个存放ID的临时数组 foreach ($temp_arr as $val) {//循环之前创建的临时数组,存放分类和最多点击次数的 $temp_id[] = $val['id']; //将点击次数最多的ID赋值给了临时数组 } foreach ($res as $key => $vals) { //循环原来的数据 if(in_array($vals['id'], $temp_id)){//如果次数最多的ID在原来的数组的ID中,那个加一个字段max并设置其值为1 $res[$key]['max'] =1; }else{ $res[$key]['max'] =0;//否则不是点击次数最多的,设置为0 } } $result['content'] = $res; die(json_encode($result)); //json输出 exit();
Résumé : Ce qui précède est l'intégralité du contenu de cet article, J’espère que cela pourra aider l’apprentissage de chacun.
Recommandations associées :
Comment implémenter le téléchargement de pièces jointes sans actualisation avec PHP Ajax
Explication détaillée de l'exemple de code de téléchargement de fichier PHP
PHP Ajax JavaScript Json implémente une méthode d'obtention d'informations météorologiques
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!