Deja ver si entiendo, tu consulta a la base de datos tanto para nombres como para mensajes te esta devolviendo dos arreglos (si no para que utilizar un ciclo)
estos arreglos son
$name
$msj
ahora lo que no entiendo es tu necesidad de hacer
Cita: foreach($name as $n){
$this->textoChat.=$n.":";//tomo los valores de nombre
}
esto, en caso de que tuvieses varios nombres, haria que textoChat almacenara la siguente cadena:
nombre1:nombre2:nombre3:
y si luego haces otro ciclo encadenandole a la misma cadena los mensajes pues quedaria
...nombre3:mensaje1:mensaje2:...
por tanto, creo que lo que tendrias que hacer para obtener una cadena de la forma nombre:mensaje seria unir los dos ciclos en uno solo (y si las claves de los arreglos se corresponden)
Código PHP:
foreach($name as $key=>$value)
{
$this->textoChat .= $value.': '.$msj[$key].';';
}
y esto te encadenaria en textoChat los valores nombre: mensaje separados todos por un ;
para que si lueog quieres separar la cadena en solo pares nombre: mensaje, utilizar split de este modo
$array = split(';', $textoChat);
si es esto lo que querias pues yo lo veo mejor asi, aunque hay mejores maneras de hacerlo utilizando funciones de retrollamadas pero depende tambien de lo que quieras
saludos