Consulta para construir un sistema de mensajes desde diferentes tablas unidas

Este código a continuación funciona, pero la salida no es lo que realmente quiero. Tenemos diferentes tablas en la base de datos:

Usuarios de la tabla:

id firstname lastname company 1 user1_firstname user1_lastname company_user1 2 user2_firstname user2_lastname company_user2 

Mensajes de tabla

 id userid motivation article_id date_created 1 1 Motivation text from buyer 1 1 date_created1 2 1 Motivation text from buyer 1 1 date_created2 3 2 Motivation text from buyer 2 1 date_created3 

Artículos de mesa

 id userid title explaination date_created 1 3 Title for article 1 explaination for article 1 date_created1 2 3 Title for article 2 explaination for article 2 date_created2 

Table messages_sellers

 id userid_buyers message_id reaction article_id date_created 1 1 1 Reaction from seller to buyer 1 1 date_created1 2 2 2 Reaction from seller to buyer 2 2 

Y el código:

  $article_id = $_GET['article_id']; $sql = " SELECT u.firstname, u.lastname, u.company, m.motivation, ms.reaction, m.userid as message_id_buyer, a.id as article_idx, a.explaination, a.date_created as datecreated_seller, m.id as message_id, group_concat(CONCAT(m.motivation, '&&', m.date_created) SEPARATOR '----') as motivations, group_concat(CONCAT(ms.reaction, '&&', ms.date_created) SEPARATOR '----') as reactions FROM messages m LEFT JOIN articles a ON a.id = m.article_id LEFT JOIN users u ON a.userid = u.id LEFT JOIN messages_sellers ms ON ms.message_id = m.id WHERE m.article_id = '$article_id' GROUP BY a.id ORDER BY m.date_created desc "; $res = mysql_query($sql) or die (mysql_error()); $num_rows = mysql_num_rows($res); if($num_rows > 0) { while($row = mysql_fetch_assoc($res)) { ?>  

() |

<a href="https://stackoverflow.com/?article_id=&userid_buyer=#add-review" class="theme-button marT10">Post your reaction
0 ){ foreach($motivations_array as $motivation_name){ $arr = explode('&&',$motivation_name); if(!empty($arr[1])){ ?>

Uw antwoord verstuurd op

0 ){ foreach($reactions_array as $reaction_name){ $arr2 = explode('&&',$reaction_name); if(!empty($arr2[1])){ ?>

Uw reactie verstuurd op

El resultado es el siguiente:

 Explaination for article seller 1 motivation message buyer 1 for article seller 1 motivation message buyer 1 for article seller 1 reaction back from buyer 1 reaction seller 1 

Pero lo que quiero es lo siguiente:

 Explaination for article seller 1 motivation message buyer 1 for article seller 1 motivation message buyer 1 for article seller 1 Reaction seller 1 reaction back from buyer 1 

¿Alguien que pueda ayudarme aquí?

Esto es para un sistema de mensajes donde los compradores deben publicar un mensaje de motivación a los vendedores, para que el vendedor pueda decidir a quién le venderá su producto. Es como una tienda en línea pero un poco diferente en comunicación. Los compradores pueden dar una respuesta al mensaje del vendedor.

Creo que la consulta es correcta pero no la salida.