PHP-Methode zum Hervorheben von Links mit hoher Klickzahl auf der Seite

墨辰丷
Freigeben: 2023-03-29 11:30:02
Original
1408 Leute haben es durchsucht

Hier stellen wir die PHP-Methode zum Hervorheben von Links mit einer hohen Anzahl von Klicks auf der Seite vor. Sie ist hauptsächlich von einem bestimmten Plugin in WordPress inspiriert. Freunde, die es benötigen, können auf

verweisen Hintergrund und Anforderungen

Es ist, als würde man sagen, dass die linke Seite der Seitennavigation aus Kategorien besteht und es viele Links unter den Kategorien gibt. Jetzt möchte ich denjenigen mit den meisten Klicks in allen Kategorien zählen und eine spezielle Verarbeitung seiner Farbe vornehmen!

Die allgemeine Datenstruktur ist wie folgt:

{
  "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"
    }
 ]
}
Nach dem Login kopieren

Wie werden diese Daten klassifiziert und hervorgehoben?

Methoden und Ideen

Der beste Weg, damit umzugehen, besteht darin, es im Back-End-PHP auszurichten.

Idee: Wir können ein neues Übergangsarray erstellen, das ursprüngliche Array durchlaufen, ein klassifiziertes Array erstellen und dann den Maximalwert und die ID der Anzahl der Klicks in dieses Array einfügen. Ermitteln Sie durch Vergleich die ID mit den meisten Klicks und die Anzahl der Klicks in der Kategorie, fügen Sie dann die ID mit den meisten Klicks in ein neues Array ein, durchlaufen Sie die Originaldaten und ermitteln Sie mit inarray(), ob die ID mit der Meistens ist dies der Fall. Wenn ja, fügen Sie den Daten ein Indikatorfeld 1 hinzu. Wenn nicht, ist es 0. Dann ist das mit 1 markierte Feld dasjenige mit den meisten Klicks in der Kategorie.

Die JSON-Ausgabe nach der Anpassung lautet:

 {
    "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
      }
   ]
  }
Nach dem Login kopieren

Der PHP-Code lautet wie folgt:

  $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();
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe es kann für das Lernen aller hilfreich sein.

Verwandte Empfehlungen:

So implementieren Sie das aktualisierungsfreie Hochladen von Anhängen mit PHP Ajax

Detaillierte Erläuterung des Beispielcodes für das Herunterladen von PHP-Dateien

PHP Ajax JavaScript Json implementiert Methode zum Abrufen von Wetterinformationen

Das obige ist der detaillierte Inhalt vonPHP-Methode zum Hervorheben von Links mit hoher Klickzahl auf der Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage