2012-10-03 35 views
0

我有一個名爲「cat_id」的mysql表。MySQL顯示代碼如果表> 0

我的網站編碼顯示每頁的句子列表。但我也希望這些div在頁面上顯示句子,以顯示它們的類別標識。

因此,類別只在數據庫中的數字0之上開始。那麼,我將如何製作一個if語句,並將其放在顯示內容的這些div中,如果「cat_id」大於0,它將顯示此代碼。

<div class="meta"> 
<small class="float-left gray"> 
Your Category: <a href="<?=$u?>categories/<?=$cat_record['cat_id']?>/<?=$page_no?>"><?=stripslashes($cat_record['cat_id'])?></a> 
</small> 
</div> 
+0

因此,如何將我顯示的代碼,如果該表中的數字是0℃以上沒有太多的成功即時新的MySQL – mystycs

回答

2

所以我認爲這個代碼是從查詢體內解除,如果是的話,你可以if語句周圍

<?php if ($cat_record['cat_id'] > 0): ?> 
    <div class="meta"> 
    <small class="float-left gray"> 
    Your Category: <a href="<?=$u?>categories/<?=$cat_record['cat_id']?>/<?=$page_no?>"><?=stripslashes($cat_record['cat_id'])?></a> 
    </small> 
    </div> 
<?php endif; ?> 
+0

我喜歡這個,但由於某種原因,他們都返回一個類別,也許我選擇了錯誤的'$ cat_record ['cat_id']'我將如何從一個整體mysql條目在數據庫中獲得一個類別? – mystycs

+1

你需要分享一些你正在運行的查詢以及你如何解析它以完全回答它的代碼 –

+0

想象一下,我使用了錯誤的$ cat_record它必須是別的東西,但它的工作原理!謝謝! :D – mystycs

1

我從$cat_record['cat_id']猜你的返回值正在包裝一個解釋爲一個字符串,因此不能用於if語句中的整數比較。

嘗試轉換爲整數並進行比較。

$cat_int = intval($cat_record['cat_id']); 
if($cat_int>0) 
{ 
    //Code here 
} 
+2

'$ cat_record ['cat_id']'會在條件中被打字。不需要首先將它傳遞給'intval',即'「1」> 0'返回true; – webbiedave

0

當然,你可以從你的數據庫中的所有條目,並用一個條件在PHP代碼中,只顯示CAT_ID> 0的,但我認爲這是乾淨多了,只檢索那些從數據庫您首先需要在SQL語句中使用WHERE子句。

嘗試以下操作:

<?php 
    //Get results above 0 
    $query="SELECT * FROM tablename WHERE cat_id>0"; 
    $result=mysql_query($query); 
    $cat_records=array(); 
    while($row=mysql_fetch_array($result)) $cat_records[]=$row; 

    //Loop through results to display the div 
    foreach($cat_records as $cat_record){ 
     echo '<div class="meta"><small class="float-left gray">Your Category: <a href="'.$u.'categories/'.$cat_record['cat_id'].'/'.$page_no.'">'.stripslashes($cat_record['cat_id']).'</a></small></div>'; 
    } 
?>