使用getElementByIdJavascript/PHP隐藏基于sql返回值的动态表

Hide a dynamic table based on sql return value using getElementById-Javascript/PHP

本文关键字:返回值 sql 动态 getElementByIdJavascript PHP 隐藏 使用      更新时间:2024-02-02

我想知道如何使用getElementById隐藏基于SQL返回值的动态表。

我目前可以在动态表中插入和显示数据。当没有结果时,数据将不会显示(工作正常),而当有结果时,则数据将显示(工作也正常)。但是,当找不到结果时,我仍然需要隐藏表,因为删除列中有一个删除按钮,即使没有数据,它也总是出现。

因此,当查询没有返回结果时,我更希望整个表消失,反之亦然,以使其干净。我尝试过使用各种方式,例如:

CCD_ 2,CCD_ 3,CCD_ 4,if(empty($_SESSION['idadv']))

我已经修改了好几次剧本,但在解决这个问题的几天里仍然遇到了问题。

示例

    function hide()//example
    {
        if(//result return 0 proceed with below)
        document.getElementById("tabledata").style.display="inline";
       if(//result true proceed with below)
        document.getElementById("tabledata").style.display="none";}

    <?php
    <div id="tabledata" style="display: inline;">
    <?php
    if(!$result){
        die('bro_you_have_error:'.mysqli_connect_error());
    }
if($result){
    echo "<table id='tableone'>";
    echo "<tr><td>hello</td></tr>
    echo"</table>
}
      ?>
  </div>

以下的更多代码

<?php
if(mysqli_num_rows($result) > 0){
echo "<tr><td></tr></td>";
echo "<table cellpadding=10 border=0 id='secondtable'>";
echo "<tr><td bgcolor=#698C00 class='white'>"."Membership"."</td>".
"<td bgcolor=#698C00 class='white'>"."Title"."</td>".
"<td bgcolor=#698C00 class='white'>"."Location"."</td>".
"<td bgcolor=#698C00 class='white'>"."Phone"."</td>".
"<td bgcolor=#698C00 class='white'>"."Picture"."</td>".
"<td bgcolor=#698C00 class='white'>"."Date Reg"."</td>".
"<td bgcolor=#698C00 class='white'>"."Delete?"."</td></tr>";
while( $row = $result->fetch_array(MYSQLI_ASSOC)){
$showdateua=$row['dateua'];
$showdateua=date('d-m-Y',strtotime($showdateua));
//$showdateua=$row['dateua'];
//$showdateua=date('d.m.Y"');
//$row['dateua']=date("d.m.Y");
echo "<tr><td bgcolor=#DCDCDC>".$_SESSION['membership']=$row['membership'].
"</td><td bgcolor=#DCDCDC>".$_SESSION['title']=$row['title'].
"</td><td bgcolor=#DCDCDC>".$_SESSION['location']=$row['location'].
"</td><td bgcolor=#DCDCDC>".$_SESSION['adphone']=$row['adphone'].
"</td><td bgcolor=#DCDCDC>".
'<img src="'.$_SESSION['image1']=$row['image1'].'"alt="No image"style="width:100px;height:100px;"/>'.
"</td><td bgcolor=#DCDCDC>".$_SESSION['dateua']=$showdateua.
"</td><td bgcolor=#DCDCDC>"."<a href='"rundelup.php?idadv=".$row['idadv']."'">".'<input type="submit" name="Delete"  value="Delete" id="Delete">'."</a></td></tr>";
/*"</td><td bgcolor=#DCDCDC>"."<a href='kransjp.php?idadv=".$row['idadv']."'>"."Delete"."</a></td></tr>";*/
//echo $_SESSION['idadv']=$row['idadv'];
}
echo "</table>";
}
else
{echo "no records";
}
//}
?>

不要在sql结果之外写入表标记。

这样做:

<?php
if(mysqli_num_rows($result) > 0){
    echo "<table id='tableone'>";
    // add rows/columns dynamically here
    echo "</table>";
}?>

因此,如果sql查询中有0行,则不会创建表。如果您希望创建一个表,即使sql查询中有0行(隐藏表),也可以向上面的代码中添加其他内容:

else{
   echo "<table id='tableone' style='display:none'>";
   echo "<tr><td>hello</td></tr>
   echo "</table>
}