2014-02-07 60 views
0

我有一張叫做票的表。 Tickets表有4列:user_idticket_idsubjectmessage。我想循環ticket_id和登錄用戶的主題。我想用foreach來回應它,但我無法讓它工作。這是我的本錢:如何循環訪問2列?

查詢:

$showTheTickets = array(); 
$user_id = $_SESSION['user_id']; 
$getTickets = mysqli_query($mysqli,"SELECT * FROM tickets WHERE user_id = '$user_id'") OR die (mysqli_error($mysqli)); 
while($row = mysqli_fetch_assoc($getTickets)){ 
    $showTicketID = $row['ticket_id']; 
    $showTicketSubject = $row['subject']; 
} 

代碼的頁面:

<?php foreach ($showTheTickets as $showTheTickets): ?> 
<div class="preview"> 
<?php echo $showTicketID ?> 
<?php echo $showTicketSubject ?> 
</div> 
<?php endforeach; ?> 

任何人願意幫助我嗎?謝謝。

+0

我找到構建'foreach($ somevar as $ somevar)'而不是'foreach($ somevar as $ anothervar)''不尋常。 –

+0

你做了一個print_r($ getTickets)嗎? ,該查詢是正確的? – SerCrAsH

回答

0

試試這個:

$showTheTickets = array(); 
$user_id = $_SESSION['user_id']; 
$getTickets = mysqli_query($mysqli,"SELECT * FROM tickets WHERE user_id = $user_id") OR die (mysqli_error($mysqli)); 

while($row = mysqli_fetch_array($getTickets)){ 

    $row = array('ticket_id' => $row['ticket_id'], 'subject' => $row['subject']); 
    $showTheTickets[] = $row; 
} 

然後:

<?php foreach ($showTheTickets as $stt): ?> 
<div class="preview"> 
<?php echo $stt['ticket_id'] ?> 
<?php echo $stt['subject'] ?> 
</div> 
<?php endforeach; ?> 

希望它可以幫助...

+0

這樣做的工作,謝謝! – user3131209

+0

不客氣。 –

0

您正在覆蓋您從查詢中獲得的值,並且您的$showTheTickets數組保持爲空。

你可能想是這樣的:

$showTheTickets = array(); 
while($row = mysqli_fetch_assoc($getTickets)){ 
    $showTheTickets[$row['ticket_id']] = $row['subject']; 
} 

和:

<?php foreach ($showTheTickets as $id => $subject): ?> 
<div class="preview"> 
<?php echo $id; ?> 
<?php echo $subject; ?> 
</div> 
<?php endforeach; ?> 
0

爲什麼不乾脆

while($row = mysqli_fetch_assoc($getTickets)){ 
    ?><div class="preview"><? 
    echo $row['ticket_id']; 
    echo $row['subject']; 
    ?></div><? 
} 
0

你必須節省$ showTicketID和$ showTicketSubject一個數組(可能是相同的數組或2個數組),然後在視圖中顯示數組,如下所示:

while($row = mysqli_fetch_assoc($getTickets)){ 
    $array[$row['ticket_id']] = $row['subject']; 
} 

和視圖:

<?php foreach ($showTheTickets as $ticketid => $ticketsubject): ?> 
<div class="preview"> 
<?php echo $ticketid ?> 
<?php echo $ticketsubject ?> 
</div> 
<?php endforeach; ?>