从mysql获取所有值,然后创建变量 [英] Get all values from mysql then make variables
本文介绍了从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屋!
查看全文