如何在选择按钮时隐藏项目?

时间:2018-03-28 14:24:45

标签: php mysql

当用户选择按钮时,我需要隐藏图像,说明和名称。 当用户选择'完成'按钮,我想只是与该按钮关联的项目消失。

请参阅我的代码,了解如何在下方显示项目:

if (isset($_POST['submit']) && ($daysLeft == 7)){
    $stmt = $conn->prepare("UPDATE Profile SET Points=:points WHERE UserID=$UserID");
    $stmt->execute();
    //need something here to hide whats displayed
    echo "Well done!";
}else {
}

显示每个项目的代码:

while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)) {
    echo "" . $dbRow["Name"] . "</h4><br>" . "<br><img src=\" . $dbRow['Picture'] . "' width='150' height='150' />" . "<br><br>" . $dbRow["Instructions"] . "<form method='POST'><input type='submit' name='submit' value='Complete'>";
}

任何想法?

2 个答案:

答案 0 :(得分:0)

如果您正在重新加载页面,那么您可以使用PHP来完成。

你发表评论的地方 //need something here to hide whats displayed您可以设置变量,例如$hide = true。确保事先在$hide = false声明之外if初始化:

$hide = false;
if (isset($_POST['submit']) && ($daysLeft == 7)){
    // existing code
    $hide = true;
}

如果$hide仍为false,则可以显示图片:

while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)) {
    echo "" . $dbRow["Name"] . "</h4><br>" . "<br>";

    if ($hide) {
        echo "<img src=\" . $dbRow['Picture'] . "' width='150' height='150' />";
    }

    echo "<br><br>" . $dbRow["Instructions"] . "<form method='POST'><input type='submit' name='submit' value='Complete'>";
}

如果您重新加载页面,则JavaScript / jquery解决方案会更好。但是,既然你已经用PHP标记了它,我假设你将重新加载页面。

顺便提一下,HTML上的内容看起来很糟糕。例如,您已关闭了未打开的<h4>代码。但是我已按原样复制你的标记,这样你就可以看到它适合的位置。标记的清晰版本:

echo "<h4>" . $dbRow["Name"] . "</h4><br>";

if (!$hide) {
    echo "<img src='" . $dbRow['Picture'] . "' width='150' height='150'>";
}

echo "<br><br>" . $dbRow["Instructions"] . "<form method='POST'><input type='submit' name='submit' value='Complete'></form>";

你也不应该真的使用<br>标签来解决问题,但这是一个单独的问题......

答案 1 :(得分:-1)

你需要使用Javascript来做到这一点。尝试将要隐藏的元素放在div中,然后在click()Javascript事件上将其css visibility属性更改为none。