MySQL Select ຂໍ້ມູນ ມາໃສ່ຂັ້ນດ້ວຍ , Comma
ກະບັນທຶກໄວກັນລືມວ່າ ການດຶງຂໍ້ມູນທີ່ອອກມາເປັນຕາຕະລາງ ໃຫ້ມັນເຂົ້າໄປຢູ່ໃນໂຕແປດຽວ ທີຂັ້ນດ້ວຍ , ນັ້ນຈະເຮັດແບບໃດ
ໄປເບິ່ງກັນເລີຍ
ໃນທີ່ນີ້ລຸງຂຽນດ້ວຍ PHP
ໂຕຢ່າງຂໍ້ມູນທີ່ມີ
ຢາກໄດ້ໃຫ້ Site_ID ອອກມາເປັນແບບ ລຽນກັນມີ , ຂັ້ນ
ນີ້ຄືແບບທີ່ຢາກໄດ້
ລຸງໄປຫາມາແລ້ວ ເຂົາແນະນຳໃຫ້ໃຊ້ GROUP_CONCAT
ກະຂຽນແບບບ້ານໆ ປະມານນີ້ລະ
<?php $sql='select GROUP_CONCAT(Site_ID) as `Site_ID` from sites'; $rs=mysqli_query($connection,$sql) or die(mysqli_connect_error()); $result=mysqli_fetch_array($rs,MYSQLI_ASSOC); echo $result['Site_ID']; ?>
ສ່ວນຫາກຈະເອົາໄປໃຊ້ຕໍ່ກະຈັບ $result[‘Site_ID’] ໄປໃສ່ໃນ array ກ່ອນ
$site_ids=explode(',', $result['Site_ID']); foreach ($site_ids as $key => $value) { ເຮັດເງື່ອນໄຂຈົນກວ່າຈະຫມົດ array }
ເສີມອີກຢ່າງ ຫາກເຮົາຢາກປ່ຽນຈາກ ການຂັ້ນດ້ວຍ , ໄປເປັນ ຂັ້ນດ້ວຍ | ແມ່ນໃຫ້ໃສ່ ພາລາມິເຕີ ເປັນ SEPARATOR ‘|’
ໂຕຢ່າງ
select GROUP_CONCAT(Site_ID SEPARATOR '|') as `Site_ID` from sites
ຫມາຍເຫດ ຫາກຂະຫນາດຂອງຂໍ້ມູນນັ້ນມີຫລາຍ ອາດເຮັດໃຫ້ດຶງຂໍ້ມູນອອກມາບໍ່ຫມົດ
ສະນັ້ນເຮົາຕ້ອງໄປເພີ່ມຂະຫນາດຂອງການຈອງຂໍ້ມູນໃຫ້ GROUP_CONCAT ໄວ້ຫລາຍໆໆ
ໃນໄຟລ my.cfg
[mysqld]
group_concat_max_len=15360
https://www.w3resource.com/mysql/aggregate-functions-and-grouping/aggregate-functions-and-grouping-group_concat.php