mysql — скрытие ссылок с нулевым результатом запроса по переполнению стека

У меня есть блок меню, который содержит некоторые ссылки, такие как: Some_link1: 5 шт., Some_link2: 13 шт., Some_link3: 0 шт., Some_link4: 0 шт.
Я хочу скрыть ссылку «Some_link» со значением 0шт. Я пишу код с запросом MySQL, но он не работает! «Some_link» с 0pcs не скрывает, но показывает значение 0pcs.
Что я делаю не так или в чем моя ошибка? Я не могу понять Спасибо за помощь.

<?
$resultonline = mysql_query("SELECT count(customers_id) from tbl_customers WHERE active='Y' and saled='N'");
$resultonshafasaled = mysql_query("SELECT count(customers_id) from tbl_customers WHERE shafa='Y' and saled='Y'");
$resultonlinenonactive = mysql_query("SELECT count(customers_id) from tbl_customers WHERE active='N' and saled='N'");

$topmenuNotOnShafa = mysql_result($resultonshafasaled, 0);
$topmenuonline = mysql_result($resultonline, 0);
$topmenuoffline = mysql_result($resultonlinenonactive, 0);

$topmenuonlineText = "Some text : ";
$topmenuOnShafaText = "Some text 2 : ";
?>

<?php if ($topmenuonline!=0): ?><?=$topmenuonlineText;?><?php endif; ?>
<?php if ($topmenuonline!=0): ?><a href="some_link" target="_self"><?=$topmenuonline;?></a>
<?php endif; ?>
<?php if ($topmenuoffline!=0): ?> / <a href="some_link" target="_self"><?=$topmenuoffline;?></a>
<br /><?php endif; ?>

<?php if ($topmenuNotOnShafa!=0): ?>
<span class="saled-warning"><a href="some_link" target="_self" ><?=$topmenuNotOnShafa;?></a></span>
<?php endif; ?>

0

Решение

Вы можете проверить, равно ли значение элемента 0 или нет, и распечатать его, только если это не 0:

Пример:

 <?php

$items='0';

if(isset($items)){
if($items != 0){
echo "<a href='non_zero_item.php'>Item from menu (".$items.")";
} else {
echo "Oh sorry, there are no items!";
}
} else {
echo "items variable is not declared!";
}

?>

В этом примере вы получите условие else, если вы измените переменную $ items на 1, вам будет напечатан HTML-код. Это небольшой тест, переменная может быть результатом запроса mysql, ручным вводом, подобным этому, и т. Д.

Если вы не хотите печатать что-либо, если значение равно 0 или не объявлено, как я понимаю, вы хотите, чтобы вы могли сделать только это:

 <?php

$items='1';

if(isset($items)){
if($items != 0){
echo "<a href='non_zero_item.php'>Item from menu (".$items.")";
}
}

?>

Для отладки я рекомендую всегда использовать условие else.

1

Другие решения

использование

mysql_num_rows

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

http://php.net/manual/en/function.mysql-num-rows.php

1

По вопросам рекламы [email protected]