


PHP implements map area data statistics-ajax loading data_PHP tutorial
This example is based on counting the number of active users of a certain product in each province. The data comes from the mysql database. According to the number of active users in each province, it is divided into different levels, and the activity level of each province is displayed with different background colors. Meet actual application requirements.
The effect is as shown below
HTML
Similar to the previous article on this site using raphael.js to draw a map of China, first load the raphael.js library file and chimamapPath.js path information file in the head section.
The code is as follows | Copy code | ||||||||
Then place div#map in the body where the map needs to be placed.
|
We prepare a mysql table named mapdata. This table stores the active user data of the product in each province. We use PHP to read the data in the mysql table and output the read data in json format, and name the PHP file json.php.
代码如下 | 复制代码 |
$(function(){ |
The code is as follows | Copy code |
$host="localhost";//Host $db_user="root";//Database user name $db_pass="";//Password $db_name="demo";//Database name $link=mysql_connect($host,$db_user,$db_pass);//Connect to the database mysql_select_db($db_name,$link); mysql_query("SET names UTF8"); $sql = "select active from mapdata order by id asc";//Query $query = mysql_query($sql); while($row=mysql_fetch_array($query)){ $arr[] = $row['active']; } echo json_encode($arr);//JSON format mysql_close($link);//Close the connection |
The code is as follows | Copy code |
$(function(){ $.get("json.php",function(json){ ... }); }); |
After obtaining the json data, we first need to convert the json data into an array, and then we traverse the entire array. According to the number of active users in each province in the json data, we make a grade distinction. Here I divide the grade into 0 There are six levels -5. The greater the number of active users, the darker the background color. In this way, when displayed on the map, the data levels of different provinces can be clearly seen. When drawing the map, it is basically the same as the introduction of using raphael.js to draw the map of China in the previous article on this site. The difference is that each different province is filled with the corresponding color. Please see the compiled code:
The code is as follows | Copy code |
$(function(){ $.get("json.php",function(json){//Get data var data = string2Array(json);//Convert array var flag; var arr = new Array();//Define a new array, corresponding to the level for(var i=0;i If(d flag = 0; }else if(d>=100 && d flag = 1; }else if(d>=500 && d flag = 2; }else if(d>=2000 && d flag = 3; }else if(d>=5000 && d flag = 4; }else{ flag = 5; } arr.push(flag); } //Define color var colors = ["#d7eef8","#97d6f5","#3fbeef","#00a2e9","#0084be","#005c86"]; //Call the map drawing method var R = Raphael("map", 600, 500); paintMap(R); var textAttr = { "fill": "#000", "font-size": "12px", "cursor": "pointer" }; var i=0; for (var state in china) { china[state]['path'].color = Raphael.getColor(0.9); (function (st, state) { //Get the center coordinates of the current graphic var xx = st.getBBox().x + (st.getBBox().width / 2); var yy = st.getBBox().y + (st.getBBox().height / 2); //Modify the offset coordinates of some map text switch (china[state]['name']) { case "Jiangsu": xx += 5; yy -= 10; break; case "Hebei": xx -= 10; yy += 20; break; case "Tianjin": xx += 10; yy += 10; break; case "Shanghai": xx += 10; break; case "Guangdong": yy -= 10; break; case "Macau": yy += 10; break; case "Hong Kong": xx += 20; yy += 5; break; case "Gansu": xx -= 40; yy -= 30; break; case "Shaanxi": xx += 5; yy += 10; break; case "Inner Mongolia": xx -= 15; yy += 65; break; default: } //Write text china[state]['text'] = R.text(xx, yy, china[state]['name']).attr(textAttr); var fillcolor = colors[arr[i]];//Get the corresponding color st.attr({fill:fillcolor});//Fill background color st[0].onmouseover = function () { st.animate({fill: "#fdd", stroke: "#eee"}, 500); china[state]['text'].toFront(); R.safari(); }; st[0].onmouseout = function () { st.animate({fill: fillcolor, stroke: "#eee"}, 500); china[state]['text'].toFront(); R.safari(); }; })(china[state]['path'], state); i++; } }); }); |
The code is as follows | Copy code
|
||||
function string2Array(string) {
eval("var result = " + decodeURI(string)); |
In this way, we can see a map of China with different background colors in different provinces. According to different colors, we can distinguish the difference in the number of active users between provinces and achieve the expected goal.
true
Thedifferencebetweenunset()andsession_destroy()isthatunset()clearsspecificsessionvariableswhilekeepingthesessionactive,whereassession_destroy()terminatestheentiresession.1)Useunset()toremovespecificsessionvariableswithoutaffectingthesession'soveralls

Stickysessionsensureuserrequestsareroutedtothesameserverforsessiondataconsistency.1)SessionIdentificationassignsuserstoserversusingcookiesorURLmodifications.2)ConsistentRoutingdirectssubsequentrequeststothesameserver.3)LoadBalancingdistributesnewuser

PHPoffersvarioussessionsavehandlers:1)Files:Default,simplebutmaybottleneckonhigh-trafficsites.2)Memcached:High-performance,idealforspeed-criticalapplications.3)Redis:SimilartoMemcached,withaddedpersistence.4)Databases:Offerscontrol,usefulforintegrati

Session in PHP is a mechanism for saving user data on the server side to maintain state between multiple requests. Specifically, 1) the session is started by the session_start() function, and data is stored and read through the $_SESSION super global array; 2) the session data is stored in the server's temporary files by default, but can be optimized through database or memory storage; 3) the session can be used to realize user login status tracking and shopping cart management functions; 4) Pay attention to the secure transmission and performance optimization of the session to ensure the security and efficiency of the application.

PHPsessionsstartwithsession_start(),whichgeneratesauniqueIDandcreatesaserverfile;theypersistacrossrequestsandcanbemanuallyendedwithsession_destroy().1)Sessionsbeginwhensession_start()iscalled,creatingauniqueIDandserverfile.2)Theycontinueasdataisloade

Absolute session timeout starts at the time of session creation, while an idle session timeout starts at the time of user's no operation. Absolute session timeout is suitable for scenarios where strict control of the session life cycle is required, such as financial applications; idle session timeout is suitable for applications that want users to keep their session active for a long time, such as social media.

The server session failure can be solved through the following steps: 1. Check the server configuration to ensure that the session is set correctly. 2. Verify client cookies, confirm that the browser supports it and send it correctly. 3. Check session storage services, such as Redis, to ensure that they are running normally. 4. Review the application code to ensure the correct session logic. Through these steps, conversation problems can be effectively diagnosed and repaired and user experience can be improved.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)
