Home > Backend Development > PHP Tutorial > Ajax asynchronously requests PHP data, ajax asynchronous php_PHP tutorial

Ajax asynchronously requests PHP data, ajax asynchronous php_PHP tutorial

WBOY
Release: 2016-07-13 10:15:17
Original
1420 people have browsed it

Ajax asynchronous request for PHP data, ajax asynchronous php

Source: http://www.ido321.com/1138.html

Received an assignment from the teacher, and the implemented layout is as shown below:

If the department ID is entered, only the department name corresponding to the ID will be displayed. If not, all will be displayed. Then based on the value of the I department name, the text box in the corresponding major department will automatically display the department name. of major subjects. For example: if Cardiovascular Medicine is selected, Internal Medicine will be displayed in the corresponding major department.

The main code is as follows:

Request department based on ID

<span>function</span><span> showHint(str)
{
    <span>var</span> xmlhttp;
    <span>if</span> (window.XMLHttpRequest)
     {<span>// IE7+, Firefox, Chrome, Opera, Safari</span>
        xmlhttp=<span>new</span> XMLHttpRequest();
     }
      <span>else</span>
     {<span>// IE6, IE5</span>
        xmlhttp=<span>new</span> ActiveXObject(<span>"Microsoft.XMLHTTP"</span>);
     }
     xmlhttp.onreadystatechange=<span>function</span>()
    {
       <span>if</span> (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById(<span>"txtHint"</span>).innerHTML=xmlhttp.responseText;
      }
  }
    xmlhttp.open(<span>"GET"</span>,<span>"keshi.php?q="</span>+str,<span>true</span>);
    xmlhttp.send();
}</span>
Copy after login

keshi.php:

<span><?php
<span>/*防止恶意调用*/</span>
define(<span>"TEST"</span>,<span>'test'</span>);
<span>// 引入文件</span>
<span>include_once</span> <span>'mysql.func.php'</span>;
<span>// 数据库初始化</span>
connectMySQL();
selectDB();
setZiFuJi();

<span>//获得来自 URL 的 q 参数</span>
$q=$_GET[<span>"q"</span>];
<span>//如果 q 是数字或者数字字符串</span>
<span>if</span> (is_numeric($q))
  {
    $q = intval($q);
    $hint=<span>""</span>;
    $resultDKQ = queryDB(<span>"select name from table_dake where id=$q"</span>);
    $hint = <span>'科室名字:<select name="ksname" id="ksname" onchange="show(this.options[this.selectedIndex].value)">'</span>;
    <span>while</span> (!!$rowDKQ = fetchAssoc($resultDKQ))
    {
      $hint .= <span>'<optgroup label='</span>.$rowDKQ[<span>'name'</span>].<span>'>'</span>;
      $resultKSQ = queryDB(<span>"select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi where table_dake.name='{$rowDKQ['name']}' and table_keshi.sid=table_dake.id"</span>);
      <span>while</span>(!!$rowKSQ = fetchAssoc($resultKSQ))
      {
        $hint .= <span>'<option>'name'</span>].<span>'>'</span>.$rowKSQ[<span>'name'</span>].<span>'</option>'</span>;
      }
      $hint .= <span>'</optgroup>'</span>;
    }
  }
  <span>// 不是数字</span>
  <span>else</span>
  {
    $resultDK = queryDB(<span>"select table_dake.name from table_dake"</span>);
    $hint = <span>'科室名字:<select name="ksname" id="ksname" onchange="show(this.options[this.selectedIndex].value)">'</span>;
     <span>while</span> (!!$rowDK = fetchAssoc($resultDK))
    {
      $hint .= <span>'<optgroup label='</span>.$rowDK[<span>'name'</span>].<span>'>'</span>;
      $resultKS = queryDB(<span>"select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi where table_dake.name='{$rowDK['name']}' and table_keshi.sid=table_dake.id"</span>);
      <span>while</span>(!!$rowKS = fetchAssoc($resultKS))
      {
        $hint .= <span>'<option>'name'</span>].<span>'>'</span>.$rowKS[<span>'name'</span>].<span>'</option>'</span>;
      }
      $hint .= <span>'</optgroup>'</span>;
    }
  }
 $response=$hint;
<span>//输出响应</span>
<span>echo</span> $response;
?></span>
Copy after login

Effect:

The ID is not entered as shown in the picture above, and the ID is entered as in the picture below:

Next article: Baijia Search: Add Google, Baidu and other search engines to the website

After submitting asynchronously using ajax , how to write code in PHP to return the processing results to the client

Just ECHO 'string'; or EXIT(json_encode(array)); directly on the S side,

Asynchronous ajax

There is no problem with each request, but there will definitely be a delay in each request. The problem with asynchrony is just that there will be a delay, there will not be a problem of not receiving the return value. If you can't receive the return value, it must be that you made a mistake somewhere.

At the same time, in your case, my suggestion is to request all the data at once, store it on the client side, and then display it as needed.

Hope it helps!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/905905.htmlTechArticleAjax asynchronous request for PHP data, ajax asynchronous php Source: http://www.ido321.com/1138.html I received an assignment from the teacher, and the implemented layout is as shown below: If the department ID is entered, the department name is only...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template