如何循环2列?

时间:2014-02-07 19:12:05

标签: php loops mysqli

我有一张名为门票的桌子。 Tickets表有4列:user_idticket_idsubjectmessage。我想循环登录用户的ticket_id和主题。我想用foreach回应它,但我不能让它工作。这就是我所拥有的:

查询:

$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; ?>

有人愿意帮助我吗?感谢。

4 个答案:

答案 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; ?>

答案 1 :(得分:0)

为什么不简单

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

答案 2 :(得分: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; ?>

答案 3 :(得分: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; ?>

希望它有所帮助...