2016-06-19 8 views
0

に取得していますこんにちは、私は、MySQLのクエリから結果を取得し、それを配列として返しますが、その上に他の関数がカスタム配列に "デコード"したいと思っていますPHP MySQLの行を配列

getProfileDataコード:

public function getProfileData($username){ 
     $data = TBWebcam::MySQLQurey("SELECT * FROM `new_user` WHERE `user_name` = \"AndrewAubury\";"); 
     if($data =! null){ 
      $userimage = $data["user_image"]; 
      if($userimage =! ""){ 
       $userimage = str_replace("%s","",$userimage); 
       $userimage = "https://A LINK YOU DONT NEED TO KNOW.net/PF.Base/file/pic/user/".$userimage; 
      }else{ 
       $userimage = null; 
      } 

      $usergender = $data["gender"]; 
      if($usergender == "1"){ 
       $usergender = "Male"; 
      }else{ 
       $usergender = "Female"; 
      } 
      //echo($data["user_id"]."<br><br><br><br>"); 
      $userData = array(
       "id" => $data["user_id"], 
       "name" => $data["full_name"], 
       "username" => $data["user_name"], 
       "image" => $userimage, 
       "gender" => $usergender, 
      ); 
      echo("Data: ".$data."<br><br><br>"); 
      return($userData); 
     }else{ 
      return null; 
     } 
    } 

MySQLQureyコード:

public function MySQLQurey($queryToDo){ 
     $servername = "my server"; 
     $username = "um my username :P"; 
     $password = "why do u need to know"; 
     $dbname = "the one i set it up on"; 

     $conn = new mysqli($servername, $username, $password, $dbname); 

     if ($conn->connect_error) {return(null);} 

     $sql = $queryToDo; 
     $result = $conn->query($sql); 
$mehArray = array(); 
     if ($result->num_rows > 0) { 
     while($row = $result->fetch_assoc()) { 
     $mehArray[] = $row; 
    } 
    return($mehArray); 
     } else { 
      return(null); 
     } 
     $conn->close(); 
    } 

私は問題がgetProfileData機能

であるMySQLの配列を取得しています
+0

私はあなたの質問を理解できませんでした、配列にMySQLの行を取得するか、エンコード/デコード(配列)メソッドをしたいですか? –

+0

@BilasSarkerよく配列の行を取得し、新しい配列を新しい名前で配列に入れたい –

+0

しかし、あなたは '$ userData = array(.....);'を実行しています – matiaslauriti

答えて

1

は、私はそれはあなたに

public function getProfileData($username){ 
     $results = TBWebcam::MySQLQurey("SELECT * FROM `new_user` WHERE `user_name` = \"AndrewAubury\";");   
     if($results == null){ 
      return null; 
     }  

     $data = $results[0];//getting only the first result, if you have more rows the you have use for/foreach loop 
     $userimage = $data["user_image"]; 
     if($userimage =! ""){ 
      $userimage = str_replace("%s","",$userimage); 
      $userimage = "https://A LINK YOU DONT NEED TO KNOW.net/PF.Base/file/pic/user/".$userimage; 
     }else{ 
      $userimage = null; 
     } 

     $usergender = $data["gender"]; 
     if($usergender == "1"){ 
      $usergender = "Male"; 
     }else{ 
      $usergender = "Female"; 
     } 
     //echo($data["user_id"]."<br><br><br><br>"); 
     $userData = array(
      "id" => $data["user_id"], 
      "name" => $data["full_name"], 
      "username" => $data["user_name"], 
      "image" => $userimage, 
      "gender" => $usergender, 
     );     

     echo("Data: ".$data."<br><br><br>"); 
     return($userData); 
    } 

$ mehArray [] = $行のコードを支援すると思います。メソッドの2つの結果セットを送信するMySQLQuery()。したがって、getProfileData()メソッドをループして結果を取得する必要があります。私はここに0のインデックス値を入れました。なぜなら、あなたは1行を使いたいと思うからです。

+0

Omgはあなたの人生の節約にそれほど感謝しています –