我想向某些用户显示某些DIV。为此,我在phpMyAdmin中有一列,称为“ UserType”,该列指示用户是高于还是低于18。基于此,如果用户低于18,我想隐藏ID为“ 18+”的所有DIV。这是包含产品的两个不同DIV的示例:
<div id="18+" class="content">
<a href= "pulpfiction.html"><img src="img/2.jpg" style="width:100%"></a>
<p>Pulp Fiction</p>
<p>£8.90</p>
<hr>
</div>
<div id="13+" class="content">
<a href= "blueexorcist.html"><img src="img/blueexorcist.jpg" style="width:100%;"></a>
<p>Blue Exorcist</p>
<p>£8.90</p>
<hr>
</div>
我现在正在尝试的是:
<?php
$userQuery = mysqli_query($con, $sql="SELECT UserType FROM users;");
$user = mysqli_fetch_assoc($userQuery); //gets user data as an array
?>
<script>
function toggleDivAdult(){
var x = document.getElementById("13+");
var y = document.getElementById("18+");
if ($user['UserType'] == 'M') { x.style.display = "none"; }
else if ($user['UserType'] == 'C') { y.style.display = "none"; }
</script>
“ M”表示成熟用户,“ C”表示孩子
答案 0 :(得分:4)
考虑到您正在使用phpMyAdmin和SQL,我建议您使用PHP来确定将哪个div打印到页面上。
示例:
<?php
$c = ; //your sql connection
$userQuery = mysqli_query($c, /* your query for the user */);
$user = mysqli_fetch_assoc($userQuery); //gets user data as an array
if ($user['UserType'] == '18+') { ?>
<div ...></div>
<? }
else if ($user['UserType'] == '13+') { ?>
<div ...></div>
<? }
else { /* otherwise */ }
?>
答案 1 :(得分:1)
我只需添加“ .adult”类并进行检查
forEach()
方法为每个数组元素执行一次提供的函数。
call()
方法调用具有给定值和单独提供的参数的函数。
[].forEach.call(document.querySelectorAll(".content"), (el) =>
{
if (el.classList.contains("adult"))
{
el.style.display = "none";
}
})
<div id="18+" class="content adult">
<a href= "pulpfiction.html"><img src="img/2.jpg" style="width:100%"></a>
<p>Pulp Fiction</p>
<p>£8.90</p>
<hr>
</div>
<div id="13+" class="content">
<a href= "blueexorcist.html"><img src="img/blueexorcist.jpg" style="width:100%;"></a>
<p>Blue Exorcist</p>
<p>£8.90</p>
<hr>
</div>