我目前正在開發一個以php mysql作為后端的Flutter專案。無論如何我可以直接從 php 檔案中獲取資料嗎?我太無知了。
例如,如何從下面的 php 檔案中獲取$dept并將其顯示在小部件中或將資料存盤在 Flutter 中:
<?php
session_start();
include_once ('config.php');
$lg_username = $_REQUEST['lg_username'];
$lg_password = $_REQUEST['lg_password'];
$lg_password = md5($lg_password);
$sql = "SELECT lg_username, lg_name, lg_dp_code FROM hr_login WHERE lg_username = '$lg_username' AND lg_password = '$lg_password'";
$res = mysqli_query($conn,$sql);
$userRow = mysqli_fetch_array($res,MYSQLI_ASSOC);
$user = $userRow['lg_username'];
$name = $userRow['lg_name'];
$dept = $userRow['lg_dp_code'];
$count = mysqli_num_rows($res);
if($count == 1){
return $dept;
}else{
echo json_encode("Error");
}
?>
未來_saveCheckIn()
Future _saveCheckIn() async {
var url = Uri.http(
"192.168.68.216", '/ump_attendance_2/save_check_in.php', {'q': '{http}'});
var response = await http.post(url, body: {
"lg_username": user.lg_username,
"lg_password": user.lg_password
});
//call the string data from php file
}
提前致謝。
uj5u.com熱心網友回復:
您可以在 php 端使用 json_encode($dept) 而不是 $dept。之后,您可以檢查如下資料并回傳 $dept 資料并使用 futurebuilder。
Future _saveCheckIn() async {
var url = Uri.http(
"192.168.68.216", '/ump_attendance_2/save_check_in.php', {'q': '{http}'});
var response = await http.post(url,
body: {"lg_username": user.lg_username, "lg_password": user.lg_password});
if (response.statusCode == 200) {
return json.decode(response.body);
} else {
print('Something wents wrong');
}
}
FutureBuilder(
future: _saveCheckIn(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.done:
if (snapshot.hasData) {
return Text(snapshot.data);
}
return const Text('What do you want');
default:
return const Center(
child: CircularProgressIndicator(),
);
}
},
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/496287.html
下一篇:SQL從字典中的鍵獲取值
