2013-05-13 34 views
1

我有一個腳本,需要從表中取得一些500行,並根據用戶是否登錄,生成鏈接以指向或不喜歡該項目。一個更好的方法來檢查用戶是否已登錄並生成不喜歡的鏈接

它目前不言而喻的方式是這樣的:

//Select * from table; 

//while(){ 
    if($userLogged) 
    { 
     echo $row['columnName'].' Like - Dislike'; 
    }else{ 
     echo $row['columnName']; 
    } 
} 

通過這種方式,它會檢查用戶是否在每行記錄。 $userLogged設置在本頁面包含的文件中。 什麼是更好的方式來做到這一點,而不是檢查用戶是否在循環內部登錄每一行?

回答

1

沒有得到你的問題安靜很好,但我想你想每次阻止條件你循環,這樣就可以先比相應循環檢查的條件,例如

if($userLogged) { 
    while(condition) { 

    } 
} else { 
    while(condition) { 

    } 
} 

這樣你不必檢查循環內的條件每次它循環

+1

你有我的問題:) – Norman 2013-05-13 04:46:38

+0

@Norman這隻會在這種情況下工作,如果你從數據庫中提取記錄後決定比你不得不去使用目前正在使用的評估,但現在,這是合適的 – 2013-05-13 04:48:12

1

使用sessions這裏

session_start(); 
if(isset($_SESSION['userLogged'])) 
{ 
    echo $row['columnName'].' Like - Dislike'; 
}else{ 
    echo $row['columnName']; 
} 
+0

是的我使用會話變量 – Norman 2013-05-13 04:45:46

+0

@Norman比在條件內使用循環而不是在條件之外。 – 2013-05-13 04:47:49

1

如果喜歡和不喜歡的代碼是相同的對於每個條目,那麼你可以做這樣的事情。

$links = ($userLogged)?"Like - Dislike":""; 
while (condition){ 
    echo $row['columnName'].$links; 
} 
+0

這是一個很好的:)我正在嘗試這一點。 – Norman 2013-05-15 14:07:00

相關問題