2014-06-07 3 views
0

PHP 웹 서비스를 사용하기 시작합니다. 'urun'테이블의 'id'를 보내는 모든 데이터를 가져오고 싶습니다. 여기 내 코드가 있는데 해결 방법을 모릅니다. 그것.PHP 웹 서비스를 사용하여 MySQL 데이터베이스에서 데이터를 가져 오는 방법

if($_GET["function"] == "getUrun"){ 

    if(isset($_GET["id"]) && $_GET["id"] != ""){ 
     $id = $_GET["id"]; 
     $kategoriid =$_GET["kategoriid"]; 
     $urunadi =$_GET["urunadi"]; 
     $urunfiyati =$_GET["urunfiyati"]; 
     $aciklama =$_GET["aciklama"]; 
     $where=""; 
     $where = "id='".$id."' AND kategoriid='".$kategoriid."' AND urunadi='".$urunadi."' AND urunfiyati='".$urunfiyati."' AND aciklama='".$aciklama."'"; 
     $result = mysql_query("SELECT * FROM urun WHERE ".$where.""); 
     $rows = array(); 
     if($r=mysql_fetch_assoc($result)) 
      { 
       $rows[] = $result; 
       $data = json_encode($rows); 

       echo "{ \"status\":\"OK\", \"getUrun\": ".$data." }"; 

      }else{ 
      echo "{ \"status\":\"ERR: Something wrong hepsi\"}";} 
    }else{ 
     echo "{ \"status\":\"ERR: Something wrongs hepsi\"}";} 
} 
+0

어떤 오류가 발생합니까? – vlaz

+0

쿼리에서 두 개 이상의 행을 반환합니까? 그렇다면 모든 행을 가져 오기 위해 루프가 필요합니다. 루프가 완료 될 때마다'json_encode'를 사용하여 루프를 통과 할 때마다가 아니라 전체 결과를 인코딩해야합니다. – Barmar

+0

예, 쿼리가 두 개 이상의 행을 반환하지만 내가 말한대로 PHP를 사용하기 시작했습니다. 진정한 루프를 작성하는 방법을 보여 주시겠습니까? – BurcuAtalay

답변

0

이 있어야한다 : 당신은 배열에있는 모든 결과를 얻을, 다음 전체를 인코딩해야

if ($result) { 
    $rows = array(); 
    while ($r = mysql_fetch_assoc($result)) { 
     $rows[] = $r; 
    } 
    echo json_encode(array('status' => 'OK', 'getUrun' => $rows)); 
} else { 
    echo json_encode(array('status' => 'ERR: Something wrong hepsi')); 
} 

. 포함하는 객체에 json_encode도 사용해야하며 JSON을 수동으로 생성하지 마십시오.

+0

정말 고마워요 .solsol :) – BurcuAtalay

관련 문제