Vous triez par n.title, mais votre première condition recherche un n.nid supérieur/inférieur à $nid. Cela n'a aucun sens et se traduit par une sélection semi-aléatoire. Je suggère que lors du tri par titre, vous changiez la condition en quelque chose n.title $node->title, et cela fonctionnerait.