2016-03-30 7 views
-1

数多くのIDを与えた後で、名前、姓、電子メールを返すクエリを実行しようとした後にJSON配列を返すときに問題が発生します。上記のパラメータを含む行を持つ配列を返すにはどうしたらいいですか?そして、これは私はそれが動作していないところで働いているものです配列を返すにはmysqlとPHPの問題があります。

$qry = "SELECT ALL $mysql_database.$patientsTable.Users_idUser FROM $mysql_database.$patientsTable WHERE doctorsTable_id_doctorsTable=$qr"; 
      $res = mysql_query($qry,$connect) or die(mysql_error()); 

 $arr_length = count($arr);    
     for($i=1;$i<=$arr_length;$i++) 
     { 

      $integerIDs = json_decode('[' .json_encode($arr[$i]['Users_idUser']) . ']', true); 

      $q = "SELECT firstName,lastName,email from $mysql_database.$UsersTable WHERE idUser='$integerIDs[$i]'"; 
      $res1 = mysql_query($q,$connect) or die(mysql_error()); 


     } 

私はforループには、上記の質問を返すようにしたいここ

はこの作品、私が持っているものです私はこれに問題があります。

+0

元の配列を表示してください。なぜエンコード/デコードするのですか?また、最終的なJSONを表示する必要があります。 – fusion3k

+0

[mysql_ * 'を使用しないでください!](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?rq=1)' mysqli_ * 'または「PDO」である。また、なぜあなたのデータベース名とあなたのテーブル名は可変であるのですか? –

+0

@ fusion3k encodeとdecodeは、文字列を返す前のクエリからのユーザIDの整数としてIDを返します。 – Aboogie

答えて

0

あなたは次のようにJOIN表現を使用して1つのクエリでこれを行うことがあります。

SELECT firstName, 
    lastName, 
    email 
FROM $mysql_database.$UsersTable u 
    INNER JOIN $mysql_database.$patientsTable p ON p.Users_idUser = u.idUser 
WHERE p.doctorsTable_id_doctorsTable=$qr 

パラメータは、より信頼性の高い包括的なとしてデータベースと通信するようしかし、私はmysql_*関数やPHP変数の上にPDOの抽象化を使用して、あなたをお勧めしますアプローチ。

関連する問題