Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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/8/mysql/56.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 如果sql查询未显示结果,如何隐藏表_Php_Mysql_Select - Fatal编程技术网

Php 如果sql查询未显示结果,如何隐藏表

Php 如果sql查询未显示结果,如何隐藏表,php,mysql,select,Php,Mysql,Select,因此,我一直在处理这个查询,以便根据从数据库中提取的内容显示某些信息,但是我总是看到表的第一个部分,在本例中是表头。我的问题是当没有结果出现时,标题仍然存在,并且在以下查询没有结果时,没有幸隐藏它们。请给我指出正确的方向,这些片段真的很有帮助。:) 谁能帮我照一下这个吗谢谢 更新 下面是sql表结构,以及它当前应该如何工作 |组|位置1 |位置2 |位置3 |位置1 |位置2 |位置3 |位置1 |位置2 |位置3 |位置| 组列始终具有内容 location1和location1_msg、lo

因此,我一直在处理这个查询,以便根据从数据库中提取的内容显示某些信息,但是我总是看到表的第一个部分,在本例中是表头。我的问题是当没有结果出现时,标题仍然存在,并且在以下查询没有结果时,没有幸隐藏它们。请给我指出正确的方向,这些片段真的很有帮助。:)

谁能帮我照一下这个吗谢谢

更新

下面是sql表结构,以及它当前应该如何工作

|组|位置1 |位置2 |位置3 |位置1 |位置2 |位置3 |位置1 |位置2 |位置3 |位置|

组列始终具有内容 location1和location1_msg、location2和location2_msg以及location3和location3_msg在html表中成对出现,可以填充一个或另一个或两个项目

因此html表可以如下所示

|收割台1 |收割台2 |收割台3

|组|位置1 ||

|组|位置2 |位置2 | msg|

|组| |位置3|U msg|


但是,如果某个组的行中没有任何内容,我不希望出现html表。除了让它离开,我的一切都在工作。哈哈,只需添加
!清空
在创建表之前进行检查

<?php
$query1 = $wpdb->get_results(......);

    if(!empty($query1)){ ?>
        <table>
            <tr>
               ...............
            <tr>
        </table>

<?php } ?>

...............

这与M Khalid Junaid发布的答案基本相同。我只是想给你看剧本的全部内容。原因是,这只是我个人的偏好,我个人不喜欢通过我的代码,特别是在各种条件下频繁地进出php

下面的代码向您展示了如何使用串联分解脚本。在我看来,它使脚本更容易遵循和排除故障

无论如何,这只是另一种方法:

$query1 = $wpdb->get_results( $wpdb->prepare ( "SELECT * FROM table WHERE Column1='$column1value'", OBJECT_K ));

if($query1){

echo 
'<div>
  <table>
    <tr>
      <td>Header1</td>
      <td>Header2</td>
      <td>Header3</td>
    </tr>';

    foreach ($query1 as $results1) {

      if($results1->Column2 !="" && $results1->Column2_Msg!=""){
      echo
        '<tr>
          <td>' . $results1->Column1 . '</td>';

          if($results1->Column2!=""){
          echo '<td>' . date('m/d/y', strtotime($results1->Column2)) . '</td>'; 
          }
      echo '<td>' . $results1->Column2_Msg . '</td>
      </tr>';
      }

      if($results1->Column3!="" && $results1->Column3!=""){  
      echo  
      '<tr>
        <td>' . $results1->Column1 . '</td>';

        if($results1->Column3!=""){
        echo '<td>' . date('m/d/y', strtotime($results1->Column3)) . '</td>'; 
        }

      echo '<td>' . $results1->Column3_Msg . '</td>
      </tr>';
      }  

      if($results1->Column4!="" && $results1->Column4_Msg!=""){
      echo  
      '<tr>
        <td>' . $results1->Column1 . '</td>';

        if($results1->Column4!=""){
        echo '<td>' . date('m/d/y', strtotime($results1->Column4)) . '</td>';
        }

        echo   '<td>' . $results1->Column4_Msg . '</td>
      </tr>';

      }
   }

  echo 
  '</table>
</div>';

} else{

  echo 'No data to display.';

  }    
$query1=$wpdb->get_results($wpdb->prepare(“从表中选择*,其中Column1='$column1value',OBJECT_K));
如果($1){
回音
'
校长1
校长2
校长3
';
foreach($query1作为$results1){
如果($results1->Column2!=“”&&&$results1->Column2_Msg!=“”){
回声
'
“.$results1->Column1.”;
如果($results1->Column2!=“”){
回显“”。日期('m/d/y',strottime($results1->Column2))。';
}
回显“”。$results1->Column2\u Msg'
';
}
如果($results1->Column3!=”&&&$results1->Column3!=”){
回音
'
“.$results1->Column1.”;
如果($results1->Column3!=“”){
回显“”。日期('m/d/y',strottime($results1->Column3))。';
}
回显'.$results1->Column3\u Msg'
';
}  
如果($results1->Column4!=“”&&&$results1->Column4\u Msg!=“”){
回音
'
“.$results1->Column1.”;
如果($results1->Column4!=“”){
回显“”。日期('m/d/y',strottime($results1->Column4))。';
}
回显'.$results1->Column4\u Msg'
';
}
}
回音
'
';
}否则{
回显“无数据显示”;
}    

Hi,您可以在之前进行请求计数(),这样您就不会进行请求,并且如果表返回0,也不会显示该表。无论如何,你应该考虑一下你的应用程序架构,把你的数据层从你的视图中分离出来。你有一个链接,我可以阅读你的建议的机会吗?查询显示什么?位置和消息,当没有位置或消息输入,我需要隐藏表。我现在也在检查你的代码。它们在哪些列中。。我们可以将这些列添加到if条件中,或者您可以创建一个更严格的查询。从技术上讲,问题是查询始终不是空的,因为列1中总是有内容,也许我需要将select*更改为更具体的查询?@DigitalDesigner我想如果您的查询返回数据,您希望显示表,如果有其他条件显示/隐藏表格,请在第三条更新我的答案时将此检查放入表格中。我忘了添加结束表和div标记:)要玩aropund,看看是否可以让它工作,如果我需要进一步的帮助,将更新我的问题。基本上,该表有7列,其中一列始终有内容,其他6列可以不同于null值或notnull(如has content),基本上,当6列中没有数据可供提取时,我想隐藏整个html表,但如果6列中的任何一列有数据可供提取,则我需要显示该表。我的问题中的当前查询是将6列填充到单独的html表行中。也许我需要将所有内容包装成一个稍微不同的更严格的查询?@DigitalDesigner向我们展示7个列名。指出哪一个始终包含内容。我可以使用您提供的代码获取填充的数据,但在没有结果时仍然没有隐藏标题。如此接近,但迄今为止lol的故事,我的编码生活;)你能用你最新的代码更新你的问题吗。我还对传递到查询中的值($column1value)感到困惑。这应该只返回与列1值匹配的行。
<?php
$query1 = $wpdb->get_results(......);

    if(!empty($query1)){ ?>
        <table>
            <tr>
               ...............
            <tr>
        </table>

<?php } ?>
$query1 = $wpdb->get_results( $wpdb->prepare ( "SELECT * FROM table WHERE Column1='$column1value'", OBJECT_K ));

if($query1){

echo 
'<div>
  <table>
    <tr>
      <td>Header1</td>
      <td>Header2</td>
      <td>Header3</td>
    </tr>';

    foreach ($query1 as $results1) {

      if($results1->Column2 !="" && $results1->Column2_Msg!=""){
      echo
        '<tr>
          <td>' . $results1->Column1 . '</td>';

          if($results1->Column2!=""){
          echo '<td>' . date('m/d/y', strtotime($results1->Column2)) . '</td>'; 
          }
      echo '<td>' . $results1->Column2_Msg . '</td>
      </tr>';
      }

      if($results1->Column3!="" && $results1->Column3!=""){  
      echo  
      '<tr>
        <td>' . $results1->Column1 . '</td>';

        if($results1->Column3!=""){
        echo '<td>' . date('m/d/y', strtotime($results1->Column3)) . '</td>'; 
        }

      echo '<td>' . $results1->Column3_Msg . '</td>
      </tr>';
      }  

      if($results1->Column4!="" && $results1->Column4_Msg!=""){
      echo  
      '<tr>
        <td>' . $results1->Column1 . '</td>';

        if($results1->Column4!=""){
        echo '<td>' . date('m/d/y', strtotime($results1->Column4)) . '</td>';
        }

        echo   '<td>' . $results1->Column4_Msg . '</td>
      </tr>';

      }
   }

  echo 
  '</table>
</div>';

} else{

  echo 'No data to display.';

  }