PHP-根据数据库字段创建DIV

时间:2019-05-15 10:39:36

标签: php mysqli foreach

我的数据库中有两个表。一个表定义了我的类别,另一个表包括了我的条目。在我的输出中,我想显示正确类别中的条目

表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 |
+---------+-------+---------+---------+

因此,表1中的id和表2中的ref_id是相互引用的。我无法执行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

有人可以帮我解决我在这里做错的事情吗?

编辑: 根据此处的要求,我从$getAllSAPModules输出的var_dump:

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"
  }

}

0 个答案:

没有答案