Maison  >  Article  >  interface Web  >  ajax combiné avec la base de données mysql pour obtenir une actualisation partielle des données

ajax combiné avec la base de données mysql pour obtenir une actualisation partielle des données

php中世界最好的语言
php中世界最好的语言original
2018-03-30 15:41:242322parcourir

Cette fois, je vais vous proposer ajax combiné avec base de données mysql pour obtenir un rafraîchissement partiel des données, et ajax combiné avec une base de données mysql pour obtenir un rafraîchissement partiel des données . sont les cas pratiques. Un Levez-vous et jetez un œil.

Statut d'effet : basculez entre verrouillé et déverrouillé en cliquant sur l'état verrouillé

1. Programme principal : 01.php importe les classes smarty et mysql et obtient le modèle de liste d'importation de données

<?php
  include &#39;./include/Mysql.class.php&#39;;
  include &#39;./libs/Smarty.class.php&#39;;
  $db=new Mysql;
  $smarty=new Smarty;
  $lists=$db->getALL('users');
  $smarty->assign('lists',$lists);
  $smarty->display('list.html');
?>

2. smarty pour parcourir les données du modèle et les afficher, et appeler ajax pour modifier l'état du verrouillage

<!DOCTYPE html>
<html>
<head>
  <meta charset=utf-8>
  <title>用户权限展示表</title>
</head>
<body>
    <table align="center" border="1" width="500">
      <center><h2>用户权限表</h2></center>
      <tr>
        <th>uid</th><th>用户名</th><th>密码</th><th>锁定状态</th><th>角色</th>
      </tr>  
      {foreach $lists as $list}
        <tr align="center">
          <td>{$list.uid}</td>
          <td>{$list.username}</td>
          <td>{$list.password}</td>
          {if $list.is_lock==1}
            <td><a href="javascript:lock(0,{$list.uid});" rel="external nofollow" >锁定</a></td>
            {else}
            <td><a href="javascript:lock(1,{$list.uid})" rel="external nofollow" ;>取消锁定</a></td>  
          {/if}    
          {if $list.role==1}
              <td>管理员</td>
          {else}
              <td>编辑者</td>    
          {/if}
        </tr>    
      {/foreach}  
    </table>  
</body>
    <script type="text/javascript">
      function lock(lock,uid){
          //创建ajax对象
          var xhr=new XMLHttpRequest();
          //打开一个链接
          xhr.open('get','02.php?is_lock='+lock+"&uid="+uid);
          //发送ajax请求
          xhr.send(null);
          //设置回调、监听函数
          xhr.onreadystatechange=function(){
            //如果ajax状态码响应正常且网络正常,获取响应文本
            if(xhr.readyState==4&&xhr.status==200){
              if(xhr.responseText){
                window.location.reload();
              }else{
                alert("切换状态失败!");
              }
            }
          }
        }
    </script>
</html>

Script de réponse 3.ajax, recevoir les données transmises par ajax via la méthode get Modifiez le contenu de la base de données et renvoyez le texte de réponse au script js

<?php
  include &#39;./include/Mysql.class.php&#39;;
  $lock=$_GET[&#39;is_lock&#39;];
  $uid=$_GET[&#39;uid&#39;];
  $db=new Mysql;
  $result=$db->update('users',"is_lock=$lock","uid=$uid");
  if($result){
    echo true;
  }else{
    echo false;
  }
?>
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour en savoir plus. informations passionnantes, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !

Lecture recommandée :

Explication graphique détaillée de l'implémentation ajax des diagrammes circulaires et des histogrammes dynamiques

Déterminer si c'est le cas un entier, quelles sont les façons d'écrire des nombres décimaux réguliers ou des nombres réels

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn