To display data from a PHP backend in Flutter, you can use the http
package to make HTTP requests to the PHP server and fetch data in JSON format. Here is a step-by-step guide to display data from a PHP backend:
- Create a PHP script that fetches the data from the backend database and returns it as JSON. Here is an example of such a script:
<?php
// Connect to the database
$servername = “localhost”;
$username = “username”;
$password = “password”;
$dbname = “database_name”;$conn = mysqli_connect($servername, $username, $password, $dbname);
// Fetch the data from the database
$sql = “SELECT id, name, email FROM users”;
$result = mysqli_query($conn, $sql);// Convert the data to JSON format
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
echo json_encode($data);// Close the database connection
mysqli_close($conn);
?>In this example, the PHP script connects to the backend database, fetches the data from the
users
table, converts it to JSON format using thejson_encode()
function, and then returns it to the Flutter app.- Use the
http
package to make an HTTP request to the PHP server and fetch the data in JSON format. Here is an example of how to do this in Flutter:import ‘dart:convert’;import ‘package:flutter/material.dart’;import ‘package:http/http.dart’ as http;
class MyWidget extends StatefulWidget {const MyWidget({super.key});
@override// ignore: library_private_types_in_public_api_MyWidgetState createState() => _MyWidgetState();}
class _MyWidgetState extends State<MyWidget> {late Future<List<dynamic>> _futureData;
@overridevoid initState() {super.initState();_futureData = fetchData();}
Future<List<dynamic>> fetchData() async {final response =await http.get(Uri.parse(‘http://example.com/my_php_script.php’));
if (response.statusCode == 200) {final data = jsonDecode(response.body) as List;return data;} else {throw Exception(‘Failed to fetch data’);}}
@overrideWidget build(BuildContext context) {return FutureBuilder<List<dynamic>>(future: _futureData,builder: (context, snapshot) {if (snapshot.hasData) {return ListView.builder(itemCount: snapshot.data?.length,itemBuilder: (context, index) {final data = snapshot.data?[index];return ListTile(title: Text(data[‘name’]),subtitle: Text(data[’email’]),);},);} else if (snapshot.hasError) {return Text(“${snapshot.error}”);}
return const CircularProgressIndicator();},);}}In this example, the
fetchData()
method uses thehttp
package to make an HTTP GET request to the PHP server and fetch the data in JSON format. If the request is successful, the method returns the data as a list of dynamic objects. If the request fails, the method throws an exception.- Display the data in your Flutter widget. In this example, the
FutureBuilder
widget is used to display the data fetched from the PHP server. TheFutureBuilder
widget waits for the future returned by thefetchData()
method to complete and then builds theListView
widget with the data.
Note that this is just a basic example of how to display data from a PHP backend in Flutter using the
http
package. You can modify this example to suit your specific needs, such as handling errors, passing parameters to the PHP script, etc. - Display the data in your Flutter widget. In this example, the
- Use the