2016-09-01 2 views
1

브래지어 : 5psc, 브래지어 : 15pcs, 블랭킷 : 0pcs, 타월 : 0pcs와 같은 내 HTML 테이블에 링크 목록이 있습니다. 나는 "Blanket : 0pcs"와 같이 0pcs (예 : 1pcs 이상)로 값이 변경된 후에 0 값이 될 때까지 "Blanket"과 "Towel"및 기타 목록 위치가 필요합니다. 및 "수건 : 0pcs"및 0pcs 값을 가진 "다른 상품"0pcs 값을 보여줍니다. 왜 내가 뭘 잘못하고있다 또는 내 실수? 어쩌면이 할 다른 방법입니다. 이해할 수 없다. 감사합니다 . 정수에 부울 참/거짓 그 = 의해 반환/및 테스트를 자동 변환합니다PHP로 0 값 결과로 텍스트/링크 숨기기

SELECT 
    SUM(shafa='Y') AS only_shafa, 
    SUM(shafa='Y' AND saled='Y') as saled_and_shafa, 
    SUM(last_name='Y') AS only_lastname, 
    SUM(last_name='y' AND saled='Y') AS saled_and_lastname 
FROM ... 

MySQL은 : 도움을

<? 
    $resultonshafa = mysql_query("SELECT count(customers_id) from tbl_customers WHERE shafa='Y'"); 
    $resultonshafasaled = mysql_query("SELECT count(customers_id) from tbl_customers WHERE shafa='Y' and saled='Y'"); 
    $resultonolx = mysql_query("SELECT count(customers_id) from tbl_customers WHERE last_name='Y'"); 
    $resultonolxsaled = mysql_query("SELECT count(customers_id) from tbl_customers WHERE last_name='Y' and saled='Y'"); 

    $topmenuOnShafa = mysql_result($resultonshafa, 0); 
    $topmenuNotOnShafa = mysql_result($resultonshafasaled, 0); 
    $topmenuOnOlx = mysql_result($resultonolx, 0); 
    $topmenuNotOnOlx = mysql_result($resultonolxsaled, 0); 

    $topmenuOnOlxText = "Blanket : "; 
    $topmenuOnShafaText = "Towel : "; 
?> 

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

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

나는 이것으로 preg_much()가 도움이 될 것이라고 생각합니다. 값을 필터링하고 한 문자를 찾으면 대체 하시겠습니까? –

+0

@RafaelShkembi 대단히 감사합니다. –

답변

1

당신은 그 모든 정보를 얻을 수있는 단일 쿼리를 실행할 수 있습니다 , 그들을 추가하십시오. $row['only_salend'] 등으로 그 값을

$res = mysql_query($sql) or die(mysql_error()); 
$row = mysql_fetch_assoc($res); 

그리고 테스트 : 그럼 당신은 단지 하나의 결과 행을,이 쿼리를 실행 가져옵니다.

그러나 코드는 쿼리가 실패하지 않는다고 가정합니다. 그것은 나쁜 생각입니다. 쿼리가 실패하면 부울 FALSE이 반환됩니다. 그런 다음 false에서 결과를 얻으려고 시도하고 다른 false가 발생합니다. 그리고 결과가 부울 FALSE이므로 false != 0은 (거짓으로) 부울 TRUE으로 평가됩니다.

+0

대단히 고마워요. 나에게 힘들지만, 아주 완벽한 샘플. –