import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:topic/BottomNavBar.dart'; import 'package:topic/main.dart'; import 'package:topic/HomePage.dart'; import 'package:topic/PersonalInfo.dart'; import 'package:topic/KnowledgePage.dart'; import 'package:topic/MessagePage.dart'; import 'package:mysql_client/mysql_client.dart'; class HistoricalRecord extends StatefulWidget { final String email; // 接收來自上個頁面的 email HistoricalRecord({required this.email}); @override _HistoricalRecordState createState() => _HistoricalRecordState(); } class _HistoricalRecordState extends State { List> _results = []; @override void initState() { super.initState(); _fetchData(); // 連資料庫 } void _fetchData() async { print('connect'); final conn = await MySQLConnection.createConnection( host: '203.64.84.154', //host: '10.0.2.2', //127.0.0.1 10.0.2.2 port: 33061, userName: 'root', password: 'Topic@2024', //password: '0000', databaseName: 'care', //testdb //databaseName: 'testdb', ); await conn.connect(); try { var result = await conn.execute('SELECT HomeElderFall.*, HomeElder.heName FROM HomeElderFall JOIN HomeElder ON HomeElderFall.heId = HomeElder.heId;'); print('Result: ${result.length} rows found.'); if (result.rows.isEmpty) { print('No data found in users table.'); } else { setState(() { _results = result.rows .map((row) => { '長者ID': row.colAt(0),//去裝資料庫的行數 '姓名': row.colAt(8), '跌倒時間': row.colAt(1), '跌倒原因': row.colAt(2), '跌倒地點': row.colAt(7), }) .toList(); }); } } catch (e) { print('Error: $e'); } finally { await conn.close(); } } @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ Container( height: 100, color: Color(0xFFF5E3C3), width: double.infinity, padding: EdgeInsets.all(10.0), child: Center( child: Text( '跌倒紀錄', style: TextStyle(fontSize: 24, height: 5), ), ), ), Expanded( child: ListView.builder( padding: EdgeInsets.symmetric(vertical: 5), // 调整列表视图的 padding itemCount: _results.length, itemBuilder: (context, index) { return ListTile( title: Text(_results[index]['姓名']), subtitle: Text( '長者ID: ${_results[index]['長者ID']}\n, ' '跌倒時間: ${_results[index]['跌倒時間']}\n, ' '跌倒原因: ${_results[index]['跌倒原因']}\n, ' '跌倒地點: ${_results[index]['跌倒地點']}\n', ), ); }, ), ), ], ), ); } }