Hola,
Si la consulta te devuelve los productos activos en el mismo orden que tienes el array, seria sustituir el
next($row[]);
por
$row=mysql_fetch_array($result); // o de la forma que carges $row
Esto suponiendo que $row solo contiene la fila actual. Que es lo que parece por $row[campo].
Si no estan en el mismo orden, tendrias que cambiar la logica. En ese caso lo haria al reves, recorriendo los registros devueltos, y usando un array de tantos elementos como servicios, con valores por defecto 0, que se actualizaria en funcion del resultado de array_search() (
www.php.net/array_search), marcando con 1 el indice correspondiente. Luego recorrerias el array de servicios y este ultimo array, mostrando el mensaje en funcion si el nuevo array tiene un 0 o un 1.
Saludos.