2013-10-22 26 views
-1

這是我的第一篇文章,因爲我一直在努力尋找自己的方式,但是我的大腦即將爆炸,在此之前我會很感激你的幫助。我有一個while循環輸出所需的數據,但在while while循環中,我想檢查會話用戶== user_id,如果該語句是真的,那麼我想在循環中添加一個鏈接,以便用戶可以編輯他們的帖子。我試過這麼多的變化,有太多可以列出(有些接近和其他人是災難),這是我目前這是不正確的,但真的很感謝一些建議。起初,我有我的如果calc嵌入我的回聲,這讓我意外地認識到上市的創造者,但我的循環的其餘部分將失敗,所以現在我已經嘗試將它添加爲回聲前的$ IsUser,然後調用該函數回聲但這不起作用。我很抱歉,如果這是基本的東西,或我的思維過程完全離開。從頁面頂部如何在數組和回聲中處理If語句

<?php 
// CONNECT TO THE DATABASE 
include_once("../php_includes/db_conx.php"); 
//Run a select query 
$result = mysqli_query($db_conx,"SELECT listing.user_id, listing.id, users.username,  listing.date_created, listing.status, listing.category, listing.country, listing.date_deadline, listing.date_start, listing.title, listing.description 
FROM listing 
INNER JOIN users 
ON listing.user_id=users.id 
ORDER BY date_created DESC"); 

//Is User listing creator 
//$isUser = "no"; 
if($string1==$string2){ 
    $isUser = '<a href="listing_add.php?id='. $row['id'] .'">Edit Listing</a>'; 
} 

//Run listing loop 
while($row = mysqli_fetch_array($result)) 
$string1 = $row['user_id']; 
$string2 = $_SESSION['userid']; 
    { 
    echo ' 
    <div id=listings> 
    <div id=img><br>No image to display</div> 
     <div id=row> 
      <div id=title><a href="listing_disp.php?id='. $row['id'] .'">'. $row['title'] .'</a></div> 
     </div> 
     <div id=row> 
      <div id=description>'. $row['description'] .'</div> 
      <div id=created>Added: '. date('jS M Y',strtotime($row['date_created'])) .'</div> 
      <div id=deadline>Deadline: '. date('jS M Y',strtotime($row['date_deadline'])) .'</div> 
      <div id=category>Category: <a href="index.php?'. $row['category'].'">'. $row['category'] .'</a></div> 
      <div id=user>User: &nbsp;<a href="index.php?'. $row['user_id'].'">'. $row['username'].'</a> </div>  
     </div> 
     <div id=row> 
     <div id=edit>'.$isUser.'</div> 
      <div id=country>'. $row['country'] .'</div> 


     </div> 
    </div> 
    '; 
    } 
mysqli_close($con); 
?> 

回答

0

刪除狀態,並嘗試以下

while($row = mysqli_fetch_array($result)){ 
    $string1 = $row['user_id']; 
    if($string1 == $_SESSION['userid']) 
     { 
     $isUser = '<a href="listing_add.php?id='. $row['id'] .'">Edit Listing</a>'; 
     }else{ 
     $isUser = ''; 
     } 
     echo ' 
     <div id=listings> 
     <div id=img><br>No image to display</div> 
      <div id=row> 
       <div id=title><a href="listing_disp.php?id='. $row['id'] .'">'. $row['title'] .'</a></div> 
      </div> 
      <div id=row> 
       <div id=description>'. $row['description'] .'</div> 
       <div id=created>Added: '. date('jS M Y',strtotime($row['date_created'])) .'</div> 
       <div id=deadline>Deadline: '. date('jS M Y',strtotime($row['date_deadline'])) .'</div> 
       <div id=category>Category: <a href="index.php?'. $row['category'].'">'. $row['category'] .'</a></div> 
       <div id=user>User: &nbsp;<a href="index.php?'. $row['user_id'].'">'. $row['username'].'</a> </div>  
      </div> 
      <div id=row> 
      <div id=edit>'.$isUser.'</div> 
       <div id=country>'. $row['country'] .'</div> 


      </div> 
     </div> 
     '; 
    } 
    mysqli_close($con); 
+0

我不能夠感謝你!它像一個魅力。我現在要試着理解這個過程。非常感謝,再次。 –

+0

更正 - 我興奮地被帶走了。它的工作原理是顯示鏈接,並且循環繼續,但鏈接顯示的是所有行,而不僅僅是$ row ['user_id'] == $ _SESSION ['userid'],這是沒有意義的。我會有一個戲,但如果有人有一個想法,爲什麼這將是偉大的。提前謝謝了。 –

+0

@TimChapman我已經更新了代碼..請使用這個最新的代碼..並請更正我的答案。所以我得到更多的積分:P – w3b

0

你需要把,如果裏面的同時,也是在你的代碼中{了一段時間後,放置不正確。

由於$string2停留,你可以把它定義外循環是相同的,但你不能做同樣的$string1,因爲它從$row

$string2 = $_SESSION['userid']; 
while($row = mysqli_fetch_array($result)) { 
    $string1 = $row['user_id']; 
    if ($string1==$string2) { /* do what you have to do */ } 
    // output 
} 
0

您需要將在您if語句需要當前數據while循環。還注意到我將你的ID改爲,你不想在DOM中回顯重複的ID。

我還將您的變量從$isUser更名爲$editLink確保將其清除以供後續循環迭代使用。

while ($row = mysqli_fetch_array($result)) { 
    if ($row['user_id'] == $_SESSION['userid'] { 
     $editLink = '<a href="listing_add.php?id=' . $row['id'] . '">Edit Listing</a>'; 
    } else { 
     $editLink = ''; 
    } 

    echo ' 
    <div class="listings"> 
    <div class=lsitings-img"><br />No image to display</div> 
     <div class="listings-row"> 
      <div class="listings-title"><a href="listing_disp.php?id='. $row['id'] .'">'. $row['title'] .'</a></div> 
     </div> 
     <div class="listings-row"> 
      <div class="istings-row-description">'. $row['description'] .'</div> 
      <div class="istings-row-created">Added: '. date('jS M Y',strtotime($row['date_created'])) .'</div> 
      <div class="istings-row-deadline">Deadline: '. date('jS M Y',strtotime($row['date_deadline'])) .'</div> 
      <div class="istings-row-category">Category: <a href="index.php?'. $row['category'].'">'. $row['category'] .'</a></div> 
      <div class="istings-row-user">User: &nbsp;<a href="index.php?'. $row['user_id'].'">'. $row['username'].'</a> </div>  
     </div> 
     <div class="listings-row"> 
      <div class="listings-edit">' . $editLink . '</div> 
      <div class="listings-country">' . $row['country'] . '</div> 
     </div> 
    </div> 
    '; 
} 
+0

感謝您提供關於我的div課程的信息。 –