我需要使用 PHP 和 MySQL
过滤连接多个表的数据并将当前日期与表中存在的日期范围映射。我正在解释下面的场景。
$inputArr=array(array("reg_no"=>"AD17323","college_roll_no"=>"AD1700323","institute_code"=>"AD","full_name"=>"RAJU MALLICK"),array("reg_no"=>"AD17298","college_roll_no"=>"AD1700298","institute_code"=>"AD","full_name"=>"BISWARAJ NAYAK"));
echo json_encode($inputArr);
//[{"reg_no":"AD17323","college_roll_no":"AD1700323","institute_code":"AD","full_name":"RAJU MALLICK"},{"reg_no":"AD17298","college_roll_no":"AD1700298","institute_code":"AD","full_name":"BISWARAJ NAYAK"}]
我有上面的输入数组,其值应与多个表进行比较。
db_application:
id regn_no exam_code Institute_code institute_code
1 AD17323 01b1bf82-f206-11e7-a317-005056991fed AD
2 AD17298 02a1c160-f206-11e7-a317-005056991fed AD
下面给出了第二个表。
db_app:
id start_date end_date exam_code Institute_code
1 2018-05-14 2018-05-14 01b1bf82-f206-11e7-a317-005056991fed AD,BD,MN
这里我需要根据循环中的数组值连接两个表,并将附加数据提取到数组中。在数组中,每行都有值 reg_no
,该值将与 regn_no
表 db_application
的列以及 exam_code 和 Institute_code
的列值匹配code> 列值应与第二个表 i.e-db_app
exam_code 和 Institute_code
列值匹配。另一个条件是当前日期应出现在 start_date 和 end_date
内,最后使用这些条件将从数组中过滤该值。我需要使用这些表查询以从数组中过滤。
最佳答案
就其值(value)而言,像下面这样的示例数据集不会破坏您问题的意图,而且我发现它更容易阅读......
数据库应用程序:
id regn_no exam_code institute_code
1 AD17323 01b1bf82 AD
2 AD17298 02a1c160 AD
db_app:
id start_date end_date exam_code institute_code
1 2018-05-14 2018-05-14 01b1bf82 AD,BD,MN
现在,我们可以看到 db_app 表中有逗号分隔的值。这是个错误。将它们移到一个单独的标准化表格中。
关于php - 如何使用 Mysql 和 PHP 从多个表中过滤数据,映射日期范围与当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50326355/