【问题标题】:How to put values without repeating inside a table如何在不重复的情况下在表格中放置值
【发布时间】:2017-12-04 13:44:07
【问题描述】:

我有一个问题,我需要在一个表中放入不同的值,我不知道如何制作结构。
这些是数据库中的值:

|--------------|------------|-----------|----------|
|  id_r_a_p_f  |  id_param  |  id_frec  |  value1  |
|--------------|------------|-----------|----------|
|       1      |   Param1   |   Frec1   |   A      |
|--------------|------------|-----------|----------|
|       2      |   Param2   |   Frec1   |   B      |
|--------------|------------|-----------|----------|
|       3      |   Param3   |   Frec1   |   C      |
|--------------|------------|-----------|----------|
|       4      |   Param4   |   Frec1   |   D      |
|--------------|------------|-----------|----------|
|       5      |   Param1   |   Frec2   |   E      |
|--------------|------------|-----------|----------|
|       6      |   Param2   |   Frec2   |   F      |
|--------------|------------|-----------|----------|
|       7      |   Param3   |   Frec2   |   G      |
|--------------|------------|-----------|----------|
|       8      |   Param4   |   Frec2   |   H      |
|--------------|------------|-----------|----------|

这就是我想要的我的观点

|--------------|------------|-----------|
|     Param    |   Frec1    |   Frec2   |
|--------------|------------|-----------|
|     Param1   |   A        |   E       |
|--------------|------------|-----------|
|     Param2   |   B        |   F       |
|--------------|------------|-----------|
|     Param3   |   C        |   G       |
|--------------|------------|-----------|
|     Param4   |   D        |  H        |
|--------------|------------|-----------|

不管我做什么结果都是一样的,param重复而不是不同。

我catch de value from database OK,但是不知道怎么把这个样式放到视图里。我让你我的查看代码,如果有任何工作。

<table>
   <tbody>
      <tr>
         <td> Param </td>
             <?php
                  $cont_frec = 0;
                     foreach ($query_frec->result() as $frec) {
             ?>     
         <td>
            <?php echo $frec->frec; ?>
         </td>
             <?php
                $cont_frec++;
             }// end foreach frec
             ?>
      </tr>
<?php
    $previous_frec = '';
      for ($rel = 0; $rel < $cont_eval_x_frec; $rel++) {
         if ($prev_param != $list_eval_x_frec[$rel]['id_param']) {
           ?>
           <tr>
              <td>
                  <?php echo $list_eval_x_frec[$rel]['id_param']; ?>   
              </td>
              <?php
            }
             $previous_frec != $list_eval_x_frec[$rel]['id_frec'];
            ?>
            <td>
                <?php echo $list_eval_x_frec[$rel]['value_1']; ?>
            </td>
             <?php
          }// for rel
          ?></tr>
  </tbody>
</table>

【问题讨论】:

    标签: php codeigniter html-table


    【解决方案1】:

    好吧,我不是最有经验的 PHP 编码器,但我的方法是首先使用您的查询构建一个数组,如下所示:

    $table_frec = array();
    while($row = $query_frec->fetch_assoc()){
      $table_frec[$row['id_param']][$row['id_frec']] = $row['value1']
    }
    

    这将为您提供一个如下所示的数组:

    $table_frec { 
        [Param1]=>{
           [Frec1]=>"A"
           [Frec2]=>"B"
        }
        [Param2]=>{
           [Frec1]=>"C"
           [Frec2]=>"D"
        }
        ...
    }
    

    然后您可以使用该数组构建您的表。

    【讨论】:

    • 我试过你说的但给我Fatal error: Cannot use object of type stdClass as array in
    • 我不确定您是如何进行查询的,我假设正在使用 mysql。我进行了编辑以显示我通常如何使用 mysqli 对象调用我的 mysql 结果。
    猜你喜欢
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 2019-09-16
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多