我想使用 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['状态'];
,将被启用或禁用
像这样
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 } ?>
编辑
for 循环,如果所有数组的大小相同,您可以尝试这样的事情
<?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 }
} ?>
这对
你有用,这只是一个例子,我认为你也需要使用<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>";
?>
旁注:
停止使用mysql_*
扩展已弃用并在 PHP 7 中关闭,使用 mysqli_*
或 PDO
。
<?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'
为假,它将进入下一个循环。
你可以使用这样的东西:
<?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>';
}
}
?>