使用PHP for android应用程序显示从数据库读入的数据

时间:2016-03-12 15:08:26

标签: php android listview

好的,这是我在php文件中的代码。我基本上想在

中读到这一切
    //Read the username and password from ServerRequest class
$username = $_POST["username"];   

    //Select all rows when the username match the input
$statement = mysqli_prepare($con, "SELECT * FROM Chore WHERE username = ?");
mysqli_stmt_bind_param($statement, "s", $username);
mysqli_stmt_execute($statement);

    //store the results of the previous query and create a variable for each column returned
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement,$chore_name ,$point_value, $parent_username, $child_username, $created, $points_given);
$chore = array();

    //store the previous variables you created in the array (only the ones you want to use)
while(mysqli_stmt_fetch($statement)) {
    $chore['chore_name'] = $chore_name;
    $chore['child_username'] = $child_username;
        $chore['point_value'] = $point_value;
    }
    //encode the array in JSON format
echo json_encode($chore);

//close the statement 
mysqli_stmt_close($statement);

    //Close the database connection 
mysqli_close($con);

我想知道如何阅读每个条目以在android studio中显示为列表视图?

1 个答案:

答案 0 :(得分:1)

你正在编写循环中的$chore数组出现。

相反,使用fetch的内容创建一个临时数组,并将其添加到$chore数组的新出现位置。

//store the previous variables you created in the array (only the ones you want to use)
while(mysqli_stmt_fetch($statement)) {
    $t = array('chore_name'     => $chore_name,
               'child_username' => $child_username,
               'point_value'    => $point_value
              );
    $chore[] = $t;
}
//encode the array in JSON format
echo json_encode($chore);

现在你应该在andriod设备上的java代码中看到一个数组数组

就个人而言,我会制作一个像这样的对象数组

while(mysqli_stmt_fetch($statement)) {
    $t = new stdClass();
    $t->chore_name     = $chore_name;
    $t->child_username = $child_username;
    $t->point_value    = $point_value;

    $chore[] = $t;
}

然后java将看到一个对象数组。