Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php mysql中循环遍历列_Php_Mysqli - Fatal编程技术网

如何在php mysql中循环遍历列

如何在php mysql中循环遍历列,php,mysqli,Php,Mysqli,不知道是否有人能给我指出正确的方向 目前,我有一个表,其中有几个列的名称,如A1、A2、A3等,我发现这样做不再适用于我想要使用的新数据库结构 A1、A2、A3。。现在将在实际列中列出 我已经包括了我正在使用的当前代码,用来获取这些信息,但是我不知道如何在A1、A2栏中循环。。是并获取同一行上的信息 PHP代码: <?php $i=1; $row = mysqli_fetch_assoc($result); while ($i <

不知道是否有人能给我指出正确的方向

目前,我有一个表,其中有几个列的名称,如A1、A2、A3等,我发现这样做不再适用于我想要使用的新数据库结构

A1、A2、A3。。现在将在实际列中列出

我已经包括了我正在使用的当前代码,用来获取这些信息,但是我不知道如何在A1、A2栏中循环。。是并获取同一行上的信息

PHP代码:

<?php     
  $i=1;            
  $row = mysqli_fetch_assoc($result);    
  while ($i < 6)    {
      if($row["A".$i.""]=='FREE')        {
          print "<td><p>Available</p></td>";
      }
      else {
               if($row["A$i"]==$auth_user) {
                   echo $i;
                   print"<td><div align=\"center\">".$row["A". $i. ""];
                   print "<br /><p>Cancel</p></span>";
                   print "</div></td>";
               }
               else {
                        print"<td><div align=\"center\">".$row["A". $i. ""];
                        print "</div></td>";
                    }
           }
           $i++;
        }
    }
?>
新表结构:

Date         | A1   |  A2   ...
---------------------------
2017-05-23   | John |  FREE ...
2017-05-24   | Jack |  FREE ...
2017-05-25   | Jane |  John ...
2017-05-26   | FREE |  Jack ...
Date         | Session   |  User ...
------------------------------------
2017-05-23   | A1        |  John ...
2017-05-23   | A2        |  Jane ...
2017-05-23   | A4        |  John ...
2017-05-23   | A9        |  Jack ...

从$results集中,您可以调用fetch_field方法,如所示


也可以使用meta_data方法处理语句。似乎您只尝试处理结果集中的一行数据。如果有多行,则需要为这些行编写一个循环

如果您使用
mysqli\u fetch\u row()
,那么您将获得一个带有0索引键的结果数组,这将帮助您消除识别特定列名的需要。至于如何识别
Free
$auth_user
,如果您不提供一些示例输入,就无法确定

出于演示目的,我将提供一些虚假输入:

$auth_user=1;
$row=['something',1,2,'somethingelse','Free'];
// $row = mysqli_fetch_row($result);    
方法:

foreach($row as $v){
    if($v=='Free'){
        echo '<td><p>Available</p></td>';
    }else{
        echo "<td><div align=\"center\">$v";
        if($v==$auth_user){
            echo '<br /><p>Cancel</p>';  // removed closing span tag
        }
        echo '</div></td>';
    }
}
foreach($v行){
如果($v=='Free'){
回音“可用”

; }否则{ 回声“$v”; 如果($v==$auth\u user){ 回显“
取消”

”;//删除了结束span标记 } 回声'; } }
输出:

    <td><div align="center">something</div></td>
    <td><div align="center">1<br /><p>Cancel</p></div></td>
    <td><div align="center">2</div></td>
    <td><div align="center">somethingelse</div></td>
    <td><p>Available</p></td>
什么 1
取消

2. 某物 可用



请记住,我正在对输入数据进行假设。如果我的示例输入与您正在处理的数据类型不相似,请更新您的问题并给我留下评论,以便我知道如何调整我的答案

包括一些行的示例会很有帮助。。。这更令人困惑。显示将循环的结果集的结构。换句话说,请帮助我在答案中填写$row输入变量。还是您返回了多行?@mickmackusa感谢您的回复。sql查询是查询并返回会话中带有A1、a2等值的所有内容以及用户在A1、a2上的屏幕打印etc@SHC听着,我想帮你,我有必要的技能,但你没有给我烘焙蛋糕所需的原料。告诉我查询出来的数据,不要用“…”或“等”来表达数据。您可以更改实际数据以保持其私密性,但我需要知道整个结果集。有多少列通过?有几排?我只是不知道如何提供一个高质量的答案。
FREE
现在从数据中消失了吗?
    <td><div align="center">something</div></td>
    <td><div align="center">1<br /><p>Cancel</p></div></td>
    <td><div align="center">2</div></td>
    <td><div align="center">somethingelse</div></td>
    <td><p>Available</p></td>