如何根据php条件显示隐藏html表行

时间:2016-03-03 08:09:02

标签: php mysql sql

我想基于使用php的mysql的获取列的状态值来显示/隐藏表行。

工作代码:此部分工作正常

while($row = mysql_fetch_array($sql))  
{
$name[] = $row['name'];
$title[] = $row['title'];
$prize[] = $row['prize'];
$status[] = $row['status'];  // this  will save values as enabled or disabled
$points[] = $row['points'];

}


<?php 

      while($row = mysql_fetch_array($sql))  

{

     echo "<tr> ";
     echo "<td>" .$row[name] . "</td>";
    echo "<td>" .$row[points] . "</td>";
        }
     echo "</tr> " ;
?>

问题:我需要解决方案

由于更多的值(将从其他表中获取)显示在表行中,因此无法显示上面给出的表。我正在显示这样的表格。

<tr ><td><?php echo "$title[0]";?></td><td>complete <?php echo "$task[0]";?> </td><td></td></tr>
<tr ><td><?php echo "$title[1]";?></td><td>complete <?php echo "$task[1]";?> </td><td></td></tr>

问题:

  

请指导我如何隐藏或显示问题中定义的行   部分,使用

的值      

$ status [] = $ row [&#39; status&#39;];

,将启用或禁用

4 个答案:

答案 0 :(得分:1)

喜欢这个

 while($row = mysql_fetch_array($sql))  
{
   if($row['status']=="enabled")
  {
   echo "<tr> ";
   echo "<td>" .$row[name] . "</td>";
   echo "<td>" .$row[points] . "</td>";
   echo "</tr> " ;
  }
}

对于其他行,您可以这样做

<?php if($status[0] == "enabled") { ?>
    <tr ><td><?php echo "$title[0]";?></td><td>complete <?php echo "$task[0]";?> </td><td></td></tr>
<?php } ?>

修改

对于循环,如果所有数组都具有相同的大小,您可以尝试这样的

<?php for($i=0;$i<sizeof($title);$i++) {
if($status[$i]=="enabled"){
?>
<tr ><td><?php echo $title[$i];?></td><td>complete <?php echo $task[$i];?> </td><td></td></tr>
<?php  }
} ?>

答案 1 :(得分:1)

这对您有用,只是一个例子,我认为您还需要使用<script scr="cordova.js > ...</script>

<table>

旁注:

停止使用已弃用的<?php echo "<table border='1'>"; while($row = mysql_fetch_array($sql)) { if($row['status'] == 1){ echo "<tr>"; echo "<td>" .$row['name'] . "</td>"; echo "<td>" .$row['points'] . "</td>"; echo "</tr>"; } } echo "</table>"; ?> 扩展程序并在PHP 7中关闭,使用mysql_*mysqli_*

答案 2 :(得分:0)

您可以使用以下内容:

<?php while($row = mysql_fetch_array($sql)): ?>
    <?php if($row['status'] == 'enabled'):?>
        <tr>
            <td><?php echo $row['name']; ?></td>
            <td><?php echo $row['points']; ?></td>
        </tr>
    <?php else: ?>
        <?php continue; ?>
    <?php endif; ?>
<?php endwhile; ?>

或者:

<?php
    while($row = mysql_fetch_array($sql)){
        if($row['status'] == 'enabled'){
            echo '<tr><td>' . $row[name] . '</td><td>' . $row[points] . '</td></tr>';
        }
    }
?>

答案 3 :(得分:0)

<?php 
while($row = mysql_fetch_array($sql))  
{
    if($row['status']=='enabled') {
        echo "<tr> ";
        echo "<td>" .$row[name] . "</td>";
        echo "<td>" .$row[points] . "</td>";    
        echo "</tr> " ;
    }
}
?>

如果$row['status']=='enabled'为假,它将进入下一个循环。