PHP Implementation highlights the number of clicks on a page in a high-volume link

Source: Internet
Author: User
Here to introduce PHP to the page to click on the high number of links to highlight the method, mainly by a plugin in WordPress inspired, the need for friends can refer to the next

Background and requirements

It is like saying that the left side of the page navigation is classified, and there are many links below the category. I would now like to count all the categories below the most clicked one, and to do special treatment of its color!

The approximate data structure is as follows:

{"  content": [    {      "id": "1",      "name": "Htmldrive",      "url": "http://www.htmldrive.net/",      "Cate ":" Front-end development ",      " Clickpoint ":"    {"},    {      " id ":" 2 ",      " name ":" 17 mesh ",      " url ":"/HTTP/ www.17sucai.com/",      " Cate ":" Front-end development ",      " Clickpoint ":" 151 "    },    {      " id ":" 3 ",      " name ":" Ali mom icon Gallery ",      " url ":" http://www.iconfont.cn/","      Cate ":" Front-end development ",      " Clickpoint ":" 2 "    },    {      "id": "+",      "name": "Animate.css",      "url": "http://www.haorooms.com/uploads/example/Animatecss/",      " Cate ":" Front-end development ",      " Clickpoint ":" + "    },    {      " id ":" "", "      name": "Dafont",      "url": "/HTTP/ www.dafont.com/",      " Cate ":" Font ",      " Clickpoint ":" 1 "    }]}

How do you classify the data for highlighting?

Methods and Ideas

The best way to handle this is to align in back-end PHP.

Idea: We can create a new transition array, loop through the original array, create an array of categories, and put the maximum and ID of the hit number in this array. By comparison, get the most clicks in the category of ID and click, and then put the most number of IDs in a new array, loop the original data, through the inarray (), the function to determine the most number of IDs is not in this array, is the case, the data to add a marked field 1, No, it's 0. Then the marked field of 1 is the most clicked in the category.

The JSON output after the adjustment is:

{"    content": [      {        "id": "1",        "name": "Htmldrive",        "url": "http://www.htmldrive.net/",        "Cate ":" Front-end development ",        " Clickpoint ":" ","       Max ": 0      },      {        " id ":" 2 ",        " name ":" 17 mesh ",        " url ":" http://www.17sucai.com/",        " Cate ":" Front-end development ",        " Clickpoint ":" 151 ",        " Max ": 1      },      {        " id ":" 3 ",        " name ":" Ali mom Icon Library ",        " url ":" http://www.iconfont.cn/",        " Cate ":" Front-end development ",        " Clickpoint ":" 2 ",        "Max": 0      },      {        "id": "+",        "name": "Animate.css",        "url": "http://www.haorooms.com/uploads/example/Animatecss/", "        Cate": "Front-end development",        "Clickpoint": "+",        "Max": 0      },      {        "id": "+",        "name": "Dafont",        "url": "http://www.dafont.com/", "        Cate": "Font",        "Clickpoint": "1",        "Max": 0      }   ]  }

The code for PHP is as follows:

  $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 ();    Create a temporary array that holds the ID of foreach ($temp _arr as $val) {///loop created before the temporary array, hold the classification and the maximum number of clicks $temp _id[] = $val [' id '];//Assign the most-clicked ID to the temporary array} foreach ($res as $key + $vals) {//loop the original data if (In_array ($vals [' id '], $temp _id)) {//If the ID of the most number is in the ID of the original array, the one that adds a field max and sets   The value is 1 $res [$key] [' max '] = 1;    }else{$res [$key] [' Max '] =0;//otherwise not the most clicked, set to 0}} $result [' content '] = $res; Die (Json_encode ($result)); JSON output exit ();

Summary: The above is the entire content of this article, I hope to be able to help you learn.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.