Para el primer problema .. usa mysql_fetch_array() .. Si no tienes nombres duplicados de campos en las tablas que intervengan y que te pueda dar conflictos por el valor que deseas ver (uno u otro si no son iguales ..) entonces tendrás que usar "AS" (crear alias) si o si ...
Usando más SQL podrías "concatenar" directamente desde tu consulta SQL ese "nombre" y "apellido" (
http://dev.mysql.com/doc/mysql/en/string-functions.html)
------------------------------------------------------------------
El otro problema que tienes tal vez es que obtienes un resultado tipo
Asesor1 Cliente
Asesor1 Cliente
AsesorX Cliente
AsesorX Cliente
(o mezclado ...)
Pero quieres "Agrupar" y presentarlo de la manera que deseas ..
En ese caso, lo que se suele hacer es:
1) se ordena por el campo que "agrupe" .. en tu caso "asesor" con un ORDER BY nombre_del_campo a ordenar
2) Haces un "if()" condicional para decidir si "ha cambiado el campo que agrupa" para mostrarlo .. o no mostrarlo. Para eso necesitaras una variable "acomulador" o similar para tal fin.
Sería algo tipo: (asumo que usaras "AS" alias .. para evitar problemas):
Código PHP:
$asesor='';
while ($row=mysql_fetch_array($resultado)){
if ($row['AsesorN']!=$asesor){
echo $row['AsesorN']."<br>";
} else {
$asesor=$row['AsesorN'];
}
echo $row['otroscampos ....']."<br>";
}
Si no me equivoqué .. algo así es el tema ... Es altamente importante que se ordene por el campo que se "agrupa" .. sino esta lógica no funcionará.
Un saludo,