我对此代码有些疑问,不知道如何修复它。
<?$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隐藏span。
此JavaScript代码无效,我不知道为什么
$function isItANumber() {var increased = parseInt($(".fon-assort").text());
if(isNaN(increased) || increased <= 0) {$(".fon-assort").hide();
}
}
isItANumber();
也许我可以通过php做到这一点,但我不知道如何,所以..我试着通过查询来做到这一点。
答案 0 :(得分:2)
您发布的代码存在很多问题,但第二行的更改会产生您想要的差异:
<?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。
答案 1 :(得分:0)
在我看来你应该用php隐藏span。 所以你的代码应该是这样的:
<?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>
答案 2 :(得分:-1)
您可以使用特定于jQuery的选择器。通过使用&gt;你说,.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>