Android,Volley,SQL只显示一条记录?

时间:2016-03-23 16:00:02

标签: java php android sql listview

所以经过多次麻烦拍摄后我终于得到了我的列表视图。

基本上我的表有3条记录应该匹配id 1.我希望这些记录显示在我的android列表视图中,只显示1。我假设我的PHP是正确的,因为我进入 myurl://retreiveData.php ID = 1

显示所有3条记录,android应用程序仅显示1

我将在下面发布我的php,以及循环遍历json数据的java的摘录

 <?php 
 if($_SERVER['REQUEST_METHOD']=='GET'){
   $id  = $_GET['id'];
   require_once('dbConnect.php');
   $sql = "SELECT * FROM Exercises WHERE id='".$id."'";
   $r = mysqli_query($con,$sql);
   while($res = mysqli_fetch_array($r)){
   $result = array();
   array_push($result,array(
   "muscle group"=>$res['muscle group'],
   "exercise"=>$res['exercise'],
  )
  );
   echo json_encode(array("result"=>$result));
  }
   mysqli_close($con);
  }

1 个答案:

答案 0 :(得分:0)

将行$result = array();移到PHP中的while循环上方。

在每次迭代中,您都在创建一个新对象。在浏览器上,您可以看到,因为您在每次迭代中打印了值,但在while循环结束时,它只有最后一个值。您可以通过在$result循环后回显while的值来测试它。