如果数字 = 0,则隐藏 div 中的数字
Hide number in div if it = 0
我在使用这段代码时遇到一些问题,不知道如何解决。
<?$result_bandeau_new_TOP_M = mysql_query("SELECT count(customers_id) from tbl_customers WHERE goods='Swimwear' and model='Bandeau'");?>
<p><span class="fon-assort">S : <a href="somelink"><?php echo mysql_result($result_bandeau_new_TOP_S, 0);?> </a></span></p>
我想隐藏数值为 0 的跨度。
此 JavaScript 代码无效,我不知道为什么
$function isItANumber() {var increased = parseInt($(".fon-assort").text());
if(isNaN(increased) || increased <= 0) {$(".fon-assort").hide();
}
}
isItANumber();
也许我可以通过 php 来做到这一点,但我不知道如何做到这一点,所以..我尝试通过查询来做到这一点。
您可以使用 jQuery 个特定的选择器。通过使用 > 你说的,.fon-assort
下的每个元素都是我想要的。
然后,循环遍历每个单独的项目,使用 parseInt 获取文本值作为数字,如果它等于 0,则使用 ===
进行类型安全检查,如果是,则隐藏父项 .fon-assort
元素
此外,我建议您不要使用 mysql_xxxx 函数,而是学习 mysqli 或 pdo 并使用准备好的语句进行查询。 mysl_xxx 查询被描述。这意味着它们会在某个时候消失,因为它们已经过时,强烈建议不要使用。
$('.fon-assort > a').each(function(index,elem) {
var $this = $(elem);
if(parseInt($this.text().trim()) === 0) {
$this.closest('.fon-assort').hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><span class="fon-assort">S : <a href="somelink">0</a></span></p>
<p><span class="fon-assort">S : <a href="somelink">4</a></span></p>
<p><span class="fon-assort">S : <a href="somelink">2</a></span></p>
<p><span class="fon-assort">S : <a href="somelink">0</a></span></p>
您发布的代码有很多问题,但是对第二行的更改使您想要的不同之处应该类似于:
<?php
$count = mysql_result($result_bandeau_new_TOP_S, 0);
if( $count != 0) {
echo '<p><span class="fon-assort">S : <a href="somelink">' +
$count
+'</a></span></p>';
}
?>
如果与现有的第一行结合,则不需要
?>
<?php
一般来说,您应该停止使用已弃用的 mysql_*
语法。请改用 mysqli_*
或 PDO
。查看比较 here。
在我看来,您应该使用 php 隐藏跨度。
所以你的代码应该是这样的:
<?php
$result_bandeau_new_TOP_M = mysql_query("SELECT count(customers_id) from tbl_customers WHERE goods='Swimwear' and model='Bandeau'");
$data = mysql_result($result_bandeau_new_TOP_S, 0);
?>
<p>
<?php if ($data!=0): ?>
<span class="fon-assort">S : <a href="somelink"><?=$data;?> </a></span>
<?php endif; ?>
</p>
我在使用这段代码时遇到一些问题,不知道如何解决。
<?$result_bandeau_new_TOP_M = mysql_query("SELECT count(customers_id) from tbl_customers WHERE goods='Swimwear' and model='Bandeau'");?>
<p><span class="fon-assort">S : <a href="somelink"><?php echo mysql_result($result_bandeau_new_TOP_S, 0);?> </a></span></p>
我想隐藏数值为 0 的跨度。
此 JavaScript 代码无效,我不知道为什么
$function isItANumber() {var increased = parseInt($(".fon-assort").text());
if(isNaN(increased) || increased <= 0) {$(".fon-assort").hide();
}
}
isItANumber();
也许我可以通过 php 来做到这一点,但我不知道如何做到这一点,所以..我尝试通过查询来做到这一点。
您可以使用 jQuery 个特定的选择器。通过使用 > 你说的,.fon-assort
下的每个元素都是我想要的。
然后,循环遍历每个单独的项目,使用 parseInt 获取文本值作为数字,如果它等于 0,则使用 ===
进行类型安全检查,如果是,则隐藏父项 .fon-assort
元素
此外,我建议您不要使用 mysql_xxxx 函数,而是学习 mysqli 或 pdo 并使用准备好的语句进行查询。 mysl_xxx 查询被描述。这意味着它们会在某个时候消失,因为它们已经过时,强烈建议不要使用。
$('.fon-assort > a').each(function(index,elem) {
var $this = $(elem);
if(parseInt($this.text().trim()) === 0) {
$this.closest('.fon-assort').hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><span class="fon-assort">S : <a href="somelink">0</a></span></p>
<p><span class="fon-assort">S : <a href="somelink">4</a></span></p>
<p><span class="fon-assort">S : <a href="somelink">2</a></span></p>
<p><span class="fon-assort">S : <a href="somelink">0</a></span></p>
您发布的代码有很多问题,但是对第二行的更改使您想要的不同之处应该类似于:
<?php
$count = mysql_result($result_bandeau_new_TOP_S, 0);
if( $count != 0) {
echo '<p><span class="fon-assort">S : <a href="somelink">' +
$count
+'</a></span></p>';
}
?>
如果与现有的第一行结合,则不需要
?>
<?php
一般来说,您应该停止使用已弃用的 mysql_*
语法。请改用 mysqli_*
或 PDO
。查看比较 here。
在我看来,您应该使用 php 隐藏跨度。 所以你的代码应该是这样的:
<?php
$result_bandeau_new_TOP_M = mysql_query("SELECT count(customers_id) from tbl_customers WHERE goods='Swimwear' and model='Bandeau'");
$data = mysql_result($result_bandeau_new_TOP_S, 0);
?>
<p>
<?php if ($data!=0): ?>
<span class="fon-assort">S : <a href="somelink"><?=$data;?> </a></span>
<?php endif; ?>
</p>