PHP 仅显示另一个 foreach() 循环中的 for() 循环中的第一个值

标签 php mysql

我对 for() 循环有一个小问题,该循环以动态方式显示另一个 foreach() 循环内的值。

代码小背景:

  1. 输出表是根据从名为“categories”的表中的 1 列(名称为“coloane”)的一个 mysql 查询 SELECT(这是第一个选择)获得的值动态创建的;

  2. “coloane”列中存储的值实际上是另一个名为“articles”的表中某些列的名称

  3. 第一个 mysql select 是从“coloane”列中获取值,以便我可以创建第二个。 在第二个表返回行 (num_rows() > 0) 后,我开始创建表。

  4. 该表有 2 个始终存在的静态列,其余列根据不同条件动态添加。

剧情:

  • 我分解从第一个选择(从“coloane”列)获得的值,以生成表标题的第 [th] 个值;
  • 这个爆炸我将它存储在变量“$rows_th”下;
  • 为了制作表头的第 [th] 个,我使用了 foreach() 循环(这里我还删除了所有下划线);
  • 之后,我继续使用另一个 foreach() 创建 [tbody] 和 [td],只是这个 foreach 是针对第二个选择的值完成的;
  • 在这个 foreach() 内部,我创建了另一个循环,对变量“$rows_th”使用 for() 函数,以便表具有相同的长度;
  • 这里的值组合如下:

     '<td id="'.$i.'">'.$values_td[$rows_th[$i]].'</td>';
    

主要问题是,使用上面列出的格式,它只会显示第一个值!

当我尝试使用 is_string() 函数验证“$values_td[$rows_th[$i]]”时,我发现第一个值是字符串,之后所有其他值都不是字符串。 ..

执行的测试:

     if (is_string($values_td[$rows_th[$i]]))
       print '<td id="'.$i.'">Value found!!!</td>';
     } else {
       print '<td id="'.$i.'">No luck...</td>';
     }

对于可能出现的问题有什么想法吗?

我知道我错过了一些东西,但我似乎无法弄清楚:-/

此处列出了完整代码:http://pastebin.com/4MFifh92

最佳答案

同时,在 friend 的帮助下,我终于找到了问题所在。

变量从字符串变为数字,因为在名为“categories”的表中,名为“coloane”的列的内部值由“,”(逗号)和“”(空格)分隔,如下所示

  ------------------------------------------
  | coloane                                |
  ------------------------------------------
  make, model, location, comments, status
  ------------------------------------------

为了解决这个问题,我发现我可以尝试做 str_replace在一个简单的 foreach() 循环中:)

类似这样的事情:

 $i=0;
 foreach($rows_th as $values_th) {
        $i++;
        $cols_td = str_replace(' ', '', $values_th);
        $actual_value = $values_td->$cols_td;
        print '<td id="'.$i.'">'.$actual_value.'</td>';
 }  

这成功了:)

希望这能帮助其他遇到类似问题的人:)

最诚挚的问候, 迈克

关于PHP 仅显示另一个 foreach() 循环中的 for() 循环中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802492/

相关文章:

php - mysql_fetch_array 仅返回查询的最后一个值

php - Laravel eloquent "with"和 "where"具有多个表

c# - 外键关系不会出现在带有 mysql 数据库的 edmx 中,带有带有数据库的 asp mvc

c# - 如何在 C# 中将未包含在 datagridview 中的其他数据库值显示到另一个表单中?

mysql - 在mysql中创建具有特定条件和排序顺序的子查询

java - 如何使用Hibernate多对多将jsp页面中多个select标签的数据保存到数据库

php - mysql 如何比较同一个表中的两行?

php - 在 PHPUnit 中使用模拟和反射进行单元测试

php - yii2 - Kartik 文件输入 - 更新

java - 在 000webhost 连接 mysql 时出现异常