2014-02-14 248 views
-2

我想從'posts_fav'抓取最喜歡的帖子,其中帖子ID是行ID。然後我想要它,如果查詢中的用戶標識等於成員標識,它將顯示'是',否則它將顯示'否'。IF語句不起作用

Originial:

foreach ($usersfav as $rowfav) { 
    if ($rowfav["user_id"] == $member["id"]) 
    { 
     echo 'yes'; 
    } 
    else 
    { 
     echo 'no'; 
    } 
} 

我的一個嘗試: 這改變了所有的其他功能。跳過如果因爲需要有一個方法可以讓我得到$ rowfav(「」)的支票,而無需

foreach ($usersfav as $rowfav) { 
    $sqlfav = "SELECT * FROM posts_fav WHERE post_id = '".$row["id"]."'"; 
    $stmfav = $dbh->prepare($sqlfav); 
    $stmfav->execute(); 
    $usersfav = $stmfav->fetchAll(); 

    if ($rowfav["user_id"] == $member["id"]) 
    { 
     echo 'yes'; 
    } 
    else 
    { 
     echo 'no'; 
    } 
} 

更新: 所以我想在帖裏rowfav [「user_ID的」]和成員[「身份證」]投其所好地說「是」和其他職位沒有,可以發現到說任何行「不」

全碼:

$sql = " 
SELECT *, 
(SELECT profilepic FROM users WHERE users.username = users_profiles_comments.author) AS profilepic 
FROM users_profiles_comments WHERE postid = '". $row["username"] ."' ORDER BY `id` DESC"; 


$stm = $dbh->prepare($sql); 
$stm->execute(); 
$users = $stm->fetchAll(); 



foreach ($users as $row) { 
echo ' <div class="row user-row"> 
      <div class="col-xs-3 col-sm-2 col-md-2 col-lg-2"> 
       <img class="img-thumbnail" 
        src="'.$row['profilepic'].'" width="150px;" 
        alt="User Pic"> 
      </div> 
      <div class="col-xs-10 col-sm-10 col-md-10 col-lg-10"> 
       <div class="panel panel-default"> 
       <div class="panel-heading"><b>'. $row["author"] .'</b> - <small>'. $row["date"] .'</small> 
       '; 
       if ($row["author"]) { 
       echo '<p style="float:right;">'; 
$sqlfav = "SELECT * FROM posts_fav WHERE post_id = '".$row["id"]."'"; 
$stmfav = $dbh->prepare($sqlfav); 
$stmfav->execute(); 
$usersfav = $stmfav->fetchAll(); 

foreach ($usersfav as $rowfav) { 
if (strcmp($rowfav["user_id"], $member["id"]) == 0) 
     { 
      echo ' 
       Yes 
       '; 
     } 
     else { 
echo 'No'; 
      } } 
+0

@PopoFibo 500服務錯誤。不會工作。 – user3219007

+0

@PopoFibo等待對不起'如果(strcmp($ rowfav [「user_id」],$ member [「id」]))'這是我改變它?這似乎擺脫了這個錯誤。無論如何,這意味着是......的一個是的帖子說不。而表中沒有任何一行的所有其他帖子什麼也沒說。 – user3219007

+0

@PopoFibo更新我的問題的底部,我想做什麼。 – user3219007

回答

1
if (count($usersfav)!=0) 
{ 
    foreach ($usersfav as $rowfav) 
    { 
     if (strcmp($rowfav["user_id"], $member["id"]) == 0) 
     { 
      echo 'Yes'; 
     } 
    } 
} 
else 
{ 
    echo 'No'; 
} 
+0

這增加了1:1,$ rowfav和$成員正在工作... – user3219007

+0

它只出現在一篇文章。 else函數是爲了顯示它在帖子中所說的內容,而沒有任何內容。 – user3219007

+0

更新我的問題的底部,我想做什麼。 – user3219007

0

如果我取消理解它是正確的,你想得到一個用戶最喜歡的帖子,並以此獲取信息,這是他的帖子。

作爲一個建議,你可以在查詢上完成檢查,所以你的結果會隨你想要的標誌一起出現。

$sql = "SELECT posts_fav.*, posts.*, IF(posts.user_id = ?, 1, 0) as owns_post FROM posts_fav LEFT JOIN posts ON posts_fav.post_id = posts.id WHERE posts_fav.member_id = ?"; 
$query = $dbh->prepare($sql); 
$query->bind_param("posts_member_id", $member["id"]); 
$query->bind_param("member_id", $member["id"]); 
$query->execute(); 
$rows = $query->fetchAll(); 

foreach($rows as $row) { 
    if($row["owns_post"]) { 
     echo "User owns the post"; 
    } else { 
     echo "User does not own the post"; 
    } 
} 

未測試,沒有保證,它甚至工作。 :-)

+0

是的,不幸的是這不起作用。 – user3219007

+0

另外,沒有。無論帖子是他的/她的,我都希望它在所有帖子上。如果帖子ID和成員ID在posts_fav [user_id,post_id]表中,我希望它顯示'是',如果它不存在,我希望它顯示'否'。 – user3219007

+0

嗯所以你會做每個帖子的查詢,看看用戶是否偏向它? – rvalerio