Экспорт данных из таблицы SQLite в файл json во Flutter - PullRequest
0 голосов
/ 06 августа 2020

Есть ли способ экспортировать данные из таблицы sqlite в файл json? У меня есть хорошо зарекомендовавший себя метод передачи файла sh файла json на мой сервер mssqlserver, и я хочу перенести данные из sqlite в файл json, чтобы завершить процесс синхронизации автономного магазина с онлайн-базой данных. Любые идеи? Заранее спасибо.

1 Ответ

0 голосов
/ 06 августа 2020

Для этого вам нужно будет использовать pHp. Это довольно просто. Файл должен выглядеть так:

<?php 

$conn = new mysqli("localhost","my_user","my_password","my_db");

if($conn -> connect_error)
    return;

$db_data = array(); //Used to store the table

$arg = $_POST['args'];

$qry = " your sql query here with args as '$arg'";
$res = $conn->query($qry);
if($res->num_rows > 0){
  while($row = $res->fetch_assoc()) {
    //Do some operations here on $row
    //Treat it like a map
    $row['col'] = $row['col2'] + 2 ;
  
    $db_data[] = $row;
  }
  echo json_encode($db_data);
} else {
  echo "No data!";
}
$conn->close();
return;

?>

Вам придется использовать http-пакет во flutter. Проверьте www.pub.dev/packages/http для получения дополнительной информации.

Ваш код флаттера должен выглядеть так:

import 'package:http/http.dart' as http;

void someFunc(){
  var map = Map<String,String>();
  map["args"] = "This is the argument";   //pass the arguments to $_POST
  final response = await http.post("Url link/filename.php", body: map);
  var result = json.decode(response.body);
  //result is a list of maps, which contains $db_data that was echoed
  print(result[0]['col1']); //print the first row of the column 'col1'
}

И готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...