2012-07-10 5 views
0

테이블에서 여러 다른 값을 검색하려고합니다. 나는 그것을 작동 시키지만 실제로는 그것이 나를 부르는 마지막 값만을 보낸다. 나는 여러 가지 일을해서 모든 가치관을 부르려했지만 노력하지 않고있다. 여기에 내가 가진 것이있다. 데이터베이스에서 여러 값 호출

$infoChanger = $_GET['changer']; 
$username = $_GET['user']; 
$sql="SELECT * FROM Login_Info WHERE user='".$username."'"; 
$r = mysql_query($sql,$con); 
$row = mysql_fetch_array($r); 

if ($row[7] != "") 
{ 
    if ($infoChanger == 1) { 
     echo $row['user']; 
    } 
    else if ($infoChanger == 2) { 
     echo $row['health']; 
    } 
    else if ($infoChanger == 3) { 
     echo $row['maxHealth']; 
    } 
    else if ($infoChanger == 4) { 
     echo $row['gold']; 
    } 
    else if ($infoChanger == 5) { 
     echo $row['xp']; 
    } 
    else if ($infoChanger == 6) { 
     echo $row['xpRequire']; 
    } 
    else if ($infoChanger == 7) { 
     echo $row['eg']; 
    } 
} 
else 
{ 
    echo "false"; 
} 

그것을 할 시도하는 마지막 시도였다. 그러나 마지막 값인 "eg"의 값만 반환합니다. 나는 이것을 호출하기 위해 루프를 사용하도록 설정했다.
function recallCharInfo(user) 
{ 
    xmlHttp=GetXmlHttpObject() 
    if (xmlHttp==null) 
    { 
     alert ("Browser does not support HTTP Request") 
     return 
    } 
    while (infoChanger < 7) { 
     infoChanger += 1; 
     xmlHttp=GetXmlHttpObject(); 
     var url="charinfo.php?user=" + user + "&changer=" + infoChanger; 
     xmlHttp.onreadystatechange=stateChanged 
     xmlHttp.open("GET",url,true) 
     xmlHttp.send(null); 
    } 
} 

내가 그들 모두를 표시하려고 노력하고 있지만, 다만 방법을 작동하지 않습니다와 나는 전화를 시도하고 각각의 값에 대한 함수를 만들고 싶어하지 않습니다. 누구든지이 문제가 무엇인지 알거나 방금 잘못 했습니까?

+0

당신이 가져 배열 후 인 print_r ($ 행)를 실행하면 당신은 무엇을 어떻게해야합니까? – databyss

+0

도 인코딩 된 전체 배열 JSON을 반환하고 Javascript에서 원하는 값을 파싱하지 않는 이유는 무엇입니까? – databyss

+0

나는 에코를 사용하는 것과 같은 것을 얻는다. 문제는 여전히 존재합니다. –

답변

0

특정 경우에 배열 인덱스는 0에서 시작하므로 배열 $ row [7]에있는 모든 행인 경우 아무 것도 표시되지 않으며 항상 false를 반환합니다.

귀하의 초기 검사해야한다 : 당신은 PHP가 될 수있어

: 루프에 대한 대체 솔루션을

if($row !== false && $row[6] != "") 

A와 전체 행을 반환해야

$infoChanger = $_GET['changer']; 
$username = $_GET['user']; 
$sql="SELECT * FROM Login_Info WHERE user='".$username."'"; 
$r = mysql_query($sql,$con); 
$row = mysql_fetch_array($r); 
echo json_encode($row); 

JSON 객체를 다음과 같이 성공 메소드에서 Javascript 객체로 파싱 할 수 있습니다.

그런 다음

당신이 모든 필드에 액세스 할 수 있어야합니다

rowData.user; 
and 
rowData.health; 
관련 문제