PHP список пока цикл - PullRequest
       12

PHP список пока цикл

0 голосов
/ 08 февраля 2011

как поместить список в цикл while?

PHP:

> $q = $db->query("SELECT * FROM
> bs_events LEFT JOIN bs_reservations ON
> bs_reservations.id_event = bs_events.id   
> GROUP BY bs_reservations.id_event 
> ORDER BY bs_events.eventDate ASC LIMIT 20");

HTML TABLE:

> while($r = $q->fetch_array(MYSQLI_ASSOC)):  
> echo '<tr>';
> echo '<td>' . $r['title'] . '</td>';  
> echo '<td>' . date('d/M/Y', strtotime($r['eventDate'])) . ' / ' . $r['eventTime'] . '</td>';  
> echo '<td>' . $r['location'] . '</td>';  
> echo '<td>' . array($r['username']) .'</td>';  
> echo '<td ></td>';  
> echo '<td ></td>';  
> echo '</tr>';  
> endwhile;

приведенный выше код выведет

TITLE        DATE/TIME      LOCATION    USERNAME
=================================================
1       dd/mm/yyy / hh:mm   location    username
1       dd/mm/yyy / hh:mm   location    username1 
1       dd/mm/yyy / hh:mm   location    username2 
2       dd/mm/yyy / hh:mm   location    username   

и я хочу вывод

TITLE        DATE/TIME      LOCATION    USERNAME
=================================================
1       dd/mm/yyy / hh:mm   location    username, username1, username2  
2       dd/mm/yyy / hh:mm   location    username 

или мне нужно поставить foreach на echo '<td>' . array($r['username']) .'</td>';

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

Что-то вроде

SELECT title,
       event_date,
       event_time,
       location,
       GROUP_CONCAT(username SEPARATOR ', ') AS username
  FROM bs_events 
  LEFT JOIN bs_reservations
         ON bs_reservations.id_event = bs_events.id   
 GROUP BY bs_reservations.id_event 
          bs_events.title,
          bs_events.event_date,
          bs_events.event_time,
          bs_events.location
 ORDER BY bs_events.eventDate ASC LIMIT 20

РЕДАКТИРОВАТЬ

Добавлен псевдоним для имени пользователя

2 голосов
/ 08 февраля 2011

Выезд GROUP_CONCAT

...