@v_eropov

Как отсортировать массив php внутри js кода?

Вопрос может быть оч примитивным, но я не могу сделать сортировку. Я могу сделать это на js с проверкой по innerHTML внутри родительского блока. Но врачи-то у меня с базы данных взяты, а база данных на php. А внутри js нельзя php код вставлять. Типа нажал на терапевта - и отсортировал в php массив по терапевтам. Кто-нибудь может помочь решить задачу?

62ee844da2e89228915211.jpeg62ee8453a39a0087763153.jpeg
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 3
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Или загружайте в JS все данные в виде JSON (можно через AJAX), и сортируйте как вздумается. Либо на каждый щелчёк делайте переход на другую страницу, с нужной сортировкой.
Ответ написан
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
AUser0, верно

v_eropov,

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

И да, вам придется строить все дивы из яваскрипта и это не короткий код. Кто-то предпочитает это делать, используя js фреймворки, типа vue/react, я предпочитаю изначально из php выдать (так было еще когда не было vue/react, а был только handlebars)
<template id="mytemplate">
  <div>
    <div>{{var1}}</div>
    <div>{{var2}}</div>
  </div>
</template>


Потом селектором этот элемент найти, и копировать его столько-то раз, делая

html.replace('{{var1}}', data.var1);
Ответ написан
@FKV
Рисуете все как рисовали. Добавляете к каждой карточке data атрибут. Например для терапевтов data-type="terapevt" для отропедов data-type="ortoped". Потом вешаете на кнопки события клика и при клике на кнопку с терапевт скрываете всех кроме тех у кого data-type="terapevt". Примерно так. Можно например плагин использовать для этого, например https://isotope.metafizzy.co/filtering.html.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы