Rumah > Soal Jawab > teks badan
Saya mempunyai jadual dengan data penerbangan dalam mysql. Saya sedang menulis kod php yang akan mengumpulkan dan memaparkan data menggunakan codeigniter 3
journey_id air_id FlightDuration out_or_in flightduration2 1 1 20hr 5min outbound 1205 2 1 20hr 5min outbound 1300 3 1 17hr 55min inbound 2258 4 1 17hr 55min inbound 1075 5 2 31hr 40min outbound 1970 6 2 31hr 40min outbound 1900 7 2 17hr 55min inbound 2223 8 2 17hr 55min inbound 1987 9 3 10hr 45min outbound 645 10 3 11hr 25min inbound 685
Saya menggunakan $this->db->get()
untuk mendapatkan semula data dan saya boleh gelung dengan mudah. Tetapi kerana setiap baris adalah dalam tatasusunan, saya mendapati sukar untuk mengumpulkannya. Saya tidak boleh menggunakan kumpulan mysql kerana saya memerlukan setiap baris.
Sebagai contoh, saya ingin memaparkan item berikut
air_id - 1 20hr 5min outbound 1205 20hr 5min outbound 1300 17hr 55min inbound 2258 17hr 55min inbound 1075 air_id - 2 31hr 40min outbound 1970 31hr 40min outbound 1900 17hr 55min inbound 2223 17hr 55min inbound 1987 air_id - 3 10hr 45min outbound 645 11hr 25min inbound 685
Apakah cara terbaik untuk mengumpulkan keputusan mengikut air_id
supaya saya boleh mengulang
P粉0432953372024-04-07 16:23:46
Dapatkan data daripada pangkalan data:
$this->db->select('journey_id, air_id, FlightDuration, out_or_in, flightduration2'); $this->db->from('your_table_name'); // Replace 'your_table_name' with the actual table name $query = $this->db->get(); $data = $query->result_array();
Buat tatasusunan kosong untuk menyimpan data terkumpul:
$grouped_data = array();
Lelaran pada data yang diambil dan kumpulkannya melalui air_id:
foreach ($data as $row) { $air_id = $row['air_id']; // Check if the air_id already exists in the grouped_data array if (!isset($grouped_data[$air_id])) { // If not, initialize an empty array for this air_id $grouped_data[$air_id] = array(); } // Add the current row to the group for this air_id $grouped_data[$air_id][] = $row; }
Kini anda mempunyai data yang dikumpulkan mengikut air_id dalam tatasusunan $grouped_data. Anda boleh lelaran melalui tatasusunan ini untuk memaparkan data yang anda tentukan:
foreach ($grouped_data as $air_id => $group) { echo "air_id - $air_id
"; foreach ($group as $row) { echo $row['FlightDuration'] . ' ' . $row['out_or_in'] . ' ' . $row['flightduration2'] . '
'; } echo "
"; }
Kod ini akan melingkari data terkumpul dan memaparkannya seperti yang anda huraikan, setiap kumpulan data penerbangan berada di bawah air_id yang sepadan.