когда делаю так:
echo 'onclick="return OpenAjax(<a href="'.$_SERVER['REQUEST_URI'].'&marka_id='.$marka['id'].'">'.$marka['name'].'</a></br>)"'
А вы понимаете что это будет представлять из себя на клиенте? То есть вы функции в качестве аргумента хотите передать тег со всеми его потрохами? И не правильно передаете, это строка, а строки должны заключаться в кавычки, у вас их нет.
И что должна сделать функция с этой html-строкой, отправить на сервер? И это при том, что у вас функция OpenAjax() не принимает никаких аргументов.
Помните я вам вопрос задавал - что лишнее?
У вас ссылки, они имеют url, они же по щелчку вызывают функцию. В самой функции этот url не используется, а функция хочет общаться с сервером асинхронно. Так зачем url? На кой ляд вообще вам тег А? А может функция не нужна, добрым надежным методом перегружаем страницы и все будет работать?
Я понимаю что мое исполнение кода далеко не совершенно
Ну так я вас по ушам тоже не бью

Вы больше потратите времени на поиски каких-то лоскутов с разных форумов, пытаясь сшить из них одеяло, чем если бы сели, задумались и попытались хотя выполнить пример что написал я, там и понимать то нечего.... ваши реальные запросы к ресурсу этих запчастей подставить, ваши переменные, добавить диалог (ошибки, пустой результат и т.п.) вот и все решение.