从mysql获取所有值,然后创建变量 [英] Get all values from mysql then make variables

查看:144
本文介绍了从mysql获取所有值,然后创建变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从PHP文件中获取值并使它们像数组一样可用. 我正在使用jquery. 我应该如何格式化检索器和php文件以全部检索它们.

Hi i want to get values from PHP files and make them usuable like array. I'm using jquery. How should i format retriever and php file to retrieve them all.

PHP文件:我曾经使用switch来一次检索1,但是这种方法很烂

PHP file: i used switch to retrieve 1 at time but this method sucks

<?php
 ob_start();
 session_start();
 include('mysql_config.php');

 $konto = $_SESSION['login'];
 $temp=mysql_fetch_array(mysql_query("SELECT `curchar` FROM `users` WHERE `login`='$konto'"));
 $id = $temp['curchar'];
 $gracz=mysql_fetch_array(mysql_query("SELECT * FROM `chars` WHERE `id`='$id'"));
 $gracz['max_pz']=94+($gracz['str']+$gracz['stm']*5);
 $gracz['max_pe']=7.1-($gracz['str']*0.1)+$gracz['stm']+$gracz['int']*2;
 $gracz['max_exp']=($gracz['lvl']*10)*25;
 if ($gracz['max_exp'] <= $gracz['exp']) 
 {
  $gracz['lvl']++;
  $zostalo = $gracz['exp']-$gracz['max_exp'];
  mysql_query("UPDATE `chars` SET lvl=lvl+1, stats=stats+3, exp='$zostalo' WHERE `id`='$id'");
  $gracz['exp']=$zostalo;
  $gracz['max_exp']=($gracz['lvl']*10)*25;
 }
 $lol=$_POST['name'];

 switch ($lol) {
    case 'pz':
   echo $gracz['pz'];
  break;
  case 'max_pz':
   echo $gracz['max_pz'];
  break;
  case 'pe':
   echo $gracz['pe'];
  break;
  case 'max_pe':
   echo $gracz['max_pe'];
  break;
  case 'max_exp':
   echo $gracz['max_exp'];
  break;
  case 'str':
   echo $gracz['str'];
  break;
  case 'dex':
   echo $gracz['dex'];
  break;
  case 'int':
   echo $gracz['int'];
  break;
  case 'stm':
   echo $gracz['stm'];
  break;
  case 'stats':
   echo $gracz['stats'];
  break;
  case 'exp':
   echo $gracz['exp'];
  break;
  case 'lvl':
   echo $gracz['lvl'];
  break;
  case 'mapa':
   echo $gracz['mapa'];
  break;
  case 'x':
   echo $gracz['x'];
  break;
  case 'y':
   echo $gracz['y'];
  break;
  default:
   echo "post jest pusty";
  break; 
 }
 ob_end_flush();
?>

JS文件(检索器):这是获取1个变量的检索器,但是它正在使用同步,导致浏览器滞后,我不希望它

JS file(retriever): Here's retriever to get 1 variable but it is using sync that cause browser lags i don't want it

function get_char_val(merk)
{  
 var returnValue = null;
 $.ajax({   
    type:   "POST",
    async:  false,   
    url:    "char_info2.php",   
    data:  { name: merk },   
    dataType: "html",  
    success:  function(data)
         {
          returnValue = data;
         } 
  }); 
 return returnValue;
}

推荐答案

使用JSON.在您的PHP文件中,只需输出:

Use JSON. In your PHP file, just output:

echo json_encode($gracz);

并更改您的ajax处理程序以接受json数据:

And change your ajax handler to accept json data:

$.ajax({   
    type:   "POST",
    async:  false,   
    url:    "char_info2.php",   
    data:  { name: merk },   
    dataType: "json",  
    success:  function(data) {
        // Use data.max_pz or whatever here
    } 
}); 

这篇关于从mysql获取所有值,然后创建变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆