У меня есть две таблицы в моей базе данных. Одна таблица определяет мои категории, а другая таблица содержит мои записи. На моем выходе я хотел бы показать свои записи в правильной категории
ТАБЛИЦА 1:
+----+-------+------------------+
| id | name | source_system_id |
+----+-------+------------------+
| 1 | Cat 1 | 1 |
| 2 | Cat 2 | 1 |
| 3 | Cat 3 | 1 |
| 4 | Cat 4 | 1 |
+----+-------+------------------+
ТАБЛИЦА 2:
+---------+---------+------+----------+--------+
| SEGMENT | FIELD | LENG | DATATYPE | REF_ID |
+---------+---------+------+----------+--------+
| Entry 1 | Field 1 | 12 | VARCHAR | 1 |
| Entry 2 | Field 2 | 15 | VARCHAR | 1 |
| Entry 3 | Field 3 | 18 | VARCHAR | 3 |
| Entry 4 | Field 4 | 18 | VARCHAR | 4 |
+---------+---------+------+----------+--------+
Вывод должен выглядеть так:
+---------+-------+---------+---------+
| Cat 1 | Cat 2 | Cat 3 | Cat 4 |
+---------+-------+---------+---------+
| Entry 1 | | | |
| Entry 2 | | | |
| | | Entry 3 | |
| | | | Entry 4 |
+---------+-------+---------+---------+
Таким образом, id
из таблицы 1 и ref_id
из таблицы 2 относятся друг к другу. Я не могу сделать оператор JOIN, потому что таблица два - это просто временная таблица. В любом случае я пытаюсь получить все данные, которые работают, а затем я хочу отобразить их, как вы можете видеть выше. Вот мой код:
if(mysqli_num_rows($sqlCheckReference) > 0) {
$getAllSAPModules = $db_conn->getRows('dwh_metamasterdata','global_source_modules',array('where'=>array('source_system_id'=>1),'return_type'=>'all'));
if(!empty($getAllSAPModules)) {
print "<div class='row'>";
foreach ($getAllSAPModules as $sortedModule) {
print "<div class='col-md-2 col-xs-12 col-lg-2'>";
print "".$sortedModule["name"]."";
while ($res = mysqli_fetch_array($sqlCheckReference)) {
if ($res["REF_ID"]==$sortedModule["id"]) {
print "<tr>";
print "<td>".$res["SEGMENT"]."</td>";
print "</tr>";
}
}
print "</div'>";
}
print "</div>";
}
}
Я получаю всю информацию из своих таблиц, пока это работает, но мой код кажется неправильным, потому что записи не отображаются, в зависимости от их REF_ID=id
Может кто-нибудь помочь мне, что я здесь делаю неправильно?
EDIT:
Как и было запрошено, мой вывод var_dump из $getAllSAPModules
:
array(6) {
[0]=>
array(6) {
["id"]=>
string(1) "1"
[0]=>
string(1) "1"
["name"]=>
string(22) "Cat 1"
[1]=>
string(22) "Cat 1"
["source_system_id"]=>
string(1) "1"
[2]=>
string(1) "1"
}
[1]=>
array(6) {
["id"]=>
string(1) "2"
[0]=>
string(1) "2"
["name"]=>
string(23) "Cat 2"
[1]=>
string(23) "Cat 2"
["source_system_id"]=>
string(1) "1"
[2]=>
string(1) "1"
}
[2]=>
array(6) {
["id"]=>
string(1) "3"
[0]=>
string(1) "3"
["name"]=>
string(19) "Cat 3"
[1]=>
string(19) "Cat 3"
["source_system_id"]=>
string(1) "1"
[2]=>
string(1) "1"
}
[3]=>
array(6) {
["id"]=>
string(1) "4"
[0]=>
string(1) "4"
["name"]=>
string(18) "Cat 4"
[1]=>
string(18) "Cat 4"
["source_system_id"]=>
string(1) "1"
[2]=>
string(1) "1"
}
}