I found a code that works well. I want to use it in a project but I can't. I think the problem is at the level of recovery and then their conversion according to the initial project
this is the array in the source code
loadPreviousEvents() {
mySelectedEvents = {
"2022-09-13": [
{"eventDescp": "11", "eventTitle": "111"},
{"eventDescp": "22", "eventTitle": "22"}
],
"2022-09-30": [
{"eventDescp": "22", "eventTitle": "22"}
],
"2022-09-20": [
{"eventTitle": "ss", "eventDescp": "ss"}
]
};
}
here is how I tried to do the same by retrieving the data in my database
void getData() async {
var url = 'http://xxxxxxxxx/getEvents.php';
var res = await http.get(Uri.parse(url));
var response = json.decode(res.body);
var mySelectedEvents =
groupBy(response, (Map obj) => obj['date']).map((k, v) => MapEntry(
k,
v.map((item) {
item.remove('date');
return item;
}).toList()));
print(mySelectedEvents);
}
List _listOfDayEvents(DateTime dateTime) {
if (mySelectedEvents[DateFormat('yyyy-MM-dd').format(dateTime)] != null) {
return mySelectedEvents[DateFormat('yyyy-MM-dd').format(dateTime)]!;
} else {
return [];
}
}
here are my 2 tables
INSERT INTO `event_date` (`id`, `date`, `selectdate`) VALUES
(4, '2022-09-17', '2022-09-17 22:13:04.508644'),
(5, '2022-09-17', '2022-09-17 23:19:05.885897'),
(6, '2022-09-17', '2022-09-17 23:19:05.885897'),
(7, '2022-09-20', '2022-09-20 00:00:00.000Z'),
(8, '2022-09-17', '2022-09-17 23:20:46.357121');
INSERT INTO `event_list` (`id`, `descript`, `title`, `id_event_date`) VALUES
(1, '11', '111', 1),
(2, '22', '22', 1),
(3, '22', '22', 2),
(4, 'ss', 'ss', 3);
this ma PHP code
$table = "event_date";
$table2 = "event_list";
$db_data = array();
$sql = "SELECT *
FROM $table D
,$table2 E
WHERE D.id = E.id_event_date
";
$result = $conn->query($sql);
if($result->num_rows >0){
while($rows = $result->fetch_assoc()){
$db_data[] = $rows;
}//fin while
//Retourn toutes les reponses en json
echo json_encode(utf8ize($db_data));
}else{
echo "erreur";
}