Artikel sebelumnya adalah Tutorial Crud dengan Flutter Bagian 1. Pada artikel tersebut kita mempersiapkan form dan plugin yang kita butuhkan, jadi pada artikel ini kita akan memulai ke proses penyimpanan ke table database. Kita akan menggunakan PHP sebagai server-side nya ya.

Tutorial Crud dengan Flutter

Pertama, silahkan tambahkan package intl: ^0.15.7 dan http: ^0.12.0+2, lalu import kedalam file yang sedang kita gunakan. Kemudian pada function_showDatePicker(), kita akan menambahkan sedikit script untuk menampung hasil dari tanggal yang sudah di pilih ke dalam tanggalLahirController.text. Jadi akan terlihat seperti ini

void _showDatePicker() {
    DatePicker.showDatePicker(
      context,
      pickerTheme: DateTimePickerTheme(
        confirm: Text('Ok', style: TextStyle(color: Colors.cyan)),
        cancel: Text('Close', style: TextStyle(color: Colors.red)),
      ),
      initialDateTime: _dateTime,
      dateFormat: _format,
      locale: _locale,
      onClose: () => print("----- onClose -----"),
      onCancel: () => print('onCancel'),
      onChange: (dateTime, List<int> index) {
        setState(() {
          _dateTime = dateTime;
        });
      },
      onConfirm: (dateTime, List<int> index) {
        setState(() {
          _dateTime = dateTime;
          tanggalLahirController.text = DateFormat('yyyy-MM-dd').format(_dateTime);
        });
      },
    );
  }





Lalu kemudian, kita akan membuat fungsi baru. Dimana fungsi baru inilah yang akan mengirimkan data ke php

prosesInsert() async {
    String _namaInput = namaLengkapController.text;
    String _noTelp = notelpController.text;
    String _alamat = alamatController.text;
    String _tanggalLahir = tanggalLahirController.text;
    try {
      final response =
      await http.post("http://192.168.1.11:84/tutorial_api/insert.php", body: {
        "namaLengkap": _namaInput,
        "notelp": _noTelp,
        "alamatLengkap": _alamat,
        "tanggallahir": _tanggalLahir
      });

      if (response.statusCode < 200 || response.statusCode > 300) {
        print(response.statusCode);
        throw new Exception('Failed to insert data');
      } else {
        showDialog(
            context: context,
            builder: (BuildContext context) {
              return AlertDialog(
                content: Text("Berhasil"),
              );
            }
        );
      }
    } catch (e) {
      print(e.toString());
      return null;
    }
  }

Jadi ketika file berhasil di input akan ada pop up dialog dengan text berhasil dan jika ada error anda dapat melihatnya di dalam tab Run pada android studio.

Kemudian berikut adalah file php yang kami gunakan

<?php
include 'koneksi.php';

 
 $namaLengkap 	= $_POST['namaLengkap'];
 $alamatLengkap = $_POST['alamatLengkap'];
 $tanggallahir 	= $_POST['tanggallahir'];
 $notelp 		= $_POST['notelp'];

$sql = "INSERT INTO `pegawai` (`namaLengkap`, `alamatLengkap`, `tanggalLahir`, `noTelp`) 
    VALUES ('".$namaLengkap."', '".$alamatLengkap."', '".$tanggallahir."', '".$notelp."');";
$result = mysqli_query($conn, $sql);


?>

Sekian terima kasih, jika anda membutuhkan source code dari file flutter nya anda dapat mendapatkannya disini https://github.com/bobykurniawan11/tutorial/tree/800cf29bc83ecfd9dc9b35014745e8e534b99c19, wassalamualaikum warahmatullahi wabarakatuh.

Subscribe To Our Newsletter

Subscribe To Our Newsletter

Kami memberikan tutorial baru tiap harinya !!!

You have Successfully Subscribed!