2010-12-29 2 views
0

안녕하세요, 저는 PHP 파일에서 값을 가져 와서 배열처럼 사용할 수있게 만들고 싶습니다. jquery를 사용하고 있습니다. 리트리버 및 PHP 파일을 모두 검색하려면 어떻게해야합니까?mysql에서 모든 값을 가져 와서 변수를 만듭니다.

PHP 파일 : 나는 시간에 1을 검색하는 스위치를 사용하지만,이 방법은

<?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 개 변수를 얻을 수있어하지만 원인 브라우저 지연 것을 나는 돈 동기화를 사용하는 ' 원하지 않아

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; 
} 
+1

당신은 SQL 주입 취약점을 가지고있다. – SLaks

답변

1

JSON을 사용하십시오.

echo json_encode($gracz); 

그리고 JSON 데이터를 허용하도록 아약스 처리기를 변경 : 당신의 PHP 파일을 바로 출력에서 ​​

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

@ tatu-ulmanen 작동하지 않습니다. C 코드는 http://saeron.sytes.net/world_1/skrypt.js에 있습니다. 데이터가 함수에서 나오지 않습니다./ – Sonny

+0

수리 된 sry : P – Sonny

관련 문제