Шаг номер 1: не использовать jQueryШаг номер 2: используй голый vue.js одного двух компонентов хватит, чтобы построить таблицуКакие конкретно задачи, что за таблица, формат данных примерно как выглядитПрограммирование это не магия, чел
>>218647573 (OP)Для начала нужно представить, как эту таблицу ты бы сделал, имея захардкоженные данные.
>>218648713грубо говоря, я делаю веб интерфейс для взаимодействия с базой данных. Использую ajax для того чтобы отправлять запросы без перезагрузки страницы, я уже сделал отправку формы и добавление новой записи в таблицу. Теперь я хочу сделать вывод информации из БД в виде таблицы. Нагуглил что для этого используется json. Собственно я сделал получение данных в таком виде, и могу динамически выводить его куда мне нужно, осталось тоьлко форматировать запить в json формате в html таблицу.пик1 - php файл, в котором я получаю нужные мне данные, пик2 - js скрипт, который выводит данные в нудный мне div.Может я делаю полную хуету, но я только вкатываюсь
>>218649014Пока напишу только о главных проблемах того что сразу вижу:У тебя открытая sql инъекция, даже если ты просто учишься, лучше сразу учиться хорошим практикам. Не помню точно как в php биндятся значения, погугли что-то из разряда php sql bind value.Потом ты пытаешься сразу жсон впихнуть как html, тебе его надо для начала отформатировать
еще попутный вопрос: во всех примерах и гайдах в ajax запросах обращаются к php файлу, в котором написан один скрипт. Есть ли возможность вызывать какую то конкретную функцию из php файла в ajax или js?
>>218649014Тип в первом файле по-хорошему нужно посадить на валидацию и лучше передавать его без формы в GET.По построению таблицы – сделай шаблон по типу<tr id='template'> <td> {{ user[0] }} </td> ... <td> {{ user[n] }} </td></tr>Который в последующем будешь копировать и итерациями наращивать строки по словарю из JSON'a
>>218649330Ты не понимаешь суть AJAX-запроса. Считай ты просто обращаешься из браузера к странице /script.php которая потом возвращается в виде неотрисованного контента
>>218649014Теперь по поводу форматирования:Лучшим вариантом конечно будет заюзать фреймоворк, например vue, но раз ты только вкатываешься, то можно и самому соорудить адскую машину.Это будет довольно просто:Допустим у тебя есть данные формата[{username:"vasyaPupkin", age:18},...]Теперь тебе надо взять таблицу и в нее пихать данные по строчно. Например так:myJsonArray.foeEach(user=>{let row = document.createElement('tr');row.innerHTML(`<td>${user.username}</td><td>${user.age}</td>`);myTable.appendChild(row);});Все грубые наброски, пишу с мобильного, могут быть тайпо
>>218649522Я вроде понимаю. Я имею ввиду, что на странице есть несколько кнопок и селектов, при нажатии/изменении которых должны происходить разные запросы, отправки форм и тд. Хочется реализовать php библиотеку функций, а не кучу отдельных файлов для этого
>>218649014>фу_блять_фу_нахуй.jpgЕсли хочешь jquery, то за таблицами тебе в https://datatables.net/ Но лучше оставь надежду на вкат прямо сейчас, только время потеряешь, это уже понятно. Первые признаки неудачного вката — необучаемость, неумение сформулировать проблему и найти решение.
>>218649664> https://datatables.netНе самый лучший вариант, имхоА ещё чувак пытается научиться, поэтому предлагать уже готовое решение это глупо
>>218649807В обучение так же входит умения искать готовые решения для тривиальных задач, а не изобретение велосипеда.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEachArray.prototype.forEach() - JavaScript | MDNhttps://developer.mozilla.org/en-US/docs/Web/API/Document/createElementDocument.createElement() - Web APIs | MDNhttps://developer.mozilla.org/en/docs/Web/API/Node/appendChildNode.appendChild() - Web APIs | MDNhttps://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literalsTemplate literals (Template strings) - JavaScript | MDNhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerTextHTMLElement.innerText - Web APIs | MDNhttps://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTMLElement.innerHTML - Web APIs | MDNОбязательно к ознакомлению, для понятия о том, что тебе потребуется сделать
>>218649330делаешь в одном пхп файле несколько функций, потом в аякс запросе добавляешь параметр, в пхп этот параметр ловишь и в зависимости от него вызываешь нужную функцию
Для начала перед решением любой задачи нужно смочь в алгоритмику. Взять и по шагам на русском языке расписать путь от исходных данных до конечного результата, как можно подробнее разбивая на подзадачи и шаги. В случае опа это может выглядеть так:1. есть таблица в мускле с данными2. значит нужен пхп скрипт, который эти данные вытащит.2.1. запрос в базу2.2. выдача полученных данных в json3. вызов пхп скрипта с веб страницы3.1. сделать запрос ajax3.2. получить данные в виде json4. сделать таблицу на веб странице4.1. взять данные в виде json4.2. каждую строчку обернуть в теги tr и td4.3. вывести результат на веб страницу
>>218647573 (OP)Зачем тебе jquery? Используй fetchAPI или axios. Дальше вон тебе анон написал, через createElement + innerHtml данные суешь.
>>218650885Кстати, вот смотрел я ваш этот аоксис, а в чем киллерфичи перед простым фетчем?Просто абстракция небольшая, или там есть что-то особо стоящее?
>>218650947Зачем?Если есть fetch, это изобретение велосипеда.Если нужна поддержка древних браузеров то юзаешь полифил https://github.com/github/fetchgithub/fetch: A window.fetch JavaScript polyfill. - GitHub
>>218651063https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequestUsing XMLHttpRequest - Web APIs | MDNПрочти или даже просто скопируй пример.
>>218650947Зайди в доку и почитай, но это легаси лютое так писать, то есть это говно древнее чем $ajax жикверевский, ну вообще пиздец короче, у меня проект есть которому 10 лет, там и ангуляр первый и жиквери, но такой хуйни не видел нигде.
>>218651144Но ты же понимаешь что $ajax жикверевский это всего лиш навсего абстракция над xmlhttprequest, да и все остальное что именуется аяксом
>>218649014если я буду быстро переключать селект, то на сервер улетит 100500 запросов. да и данные я увижу хуй пойми какие, какие последними придут> doneэто говно мамонта, иди читай про promis'ы и async/awaitи лучше найди ментора, который на пару голов выше и будет постоянно ревьюить твой код и ускорит твой рост раза в два-три. плюс он не даст тебе незаметно для тебя нахвататься фрилансерского ворпресс жиквери говна а это примерно как быть васей с изолентой и ентой матерью, а не нормальным сантехником/электриком
>>218647573 (OP)Можно как-то неграмотно сделать? Таблица она и в Африке таблица. Исходи из того что у тебя уже есть в проекте. Есть жквери — делай на жквери. Причём тут кстати аякс? У тебя жсон с сервера приходит?
>>218651144А все эти новомодные фреймворки, которые через год устаревают, нужны просто для того чтобы погромисты набивали себе цену.
>>218651180Тебе просто челик сказал что это легаси лютое, и что даже аякс был сделан чтобы не юзать это веселье
>>218651215Устаревают - да, и что?Для своего времени они хорошо выполняют свою задачу и ускоряют разработку в разы.
>>218651180А асемблер абстракция над машинным кодом. И что дальше, на машинном коде писать? Абстракции для удобства, скорости разработки, etc создаются.
>>218651205>фрилансерского ворпресс жиквери говнаА что в этом тащемта плохого? Всегда найдется тот кому нужен САЙТ ВИЗИТКА. Куча ебланов, которые наслушались что не надо РАБОТАТЬ НА ДЯДЮ и открыли наебизнес по перепродаже говна, ебашишь таким сайты на ворпрессе за 20к и норм. Наебизнесы конечно быстро прогорают, через год протухают домены и никому не нужные уже сайты уходят в небытие, но постоянно появляются новые мамкины бизнесмены. Эта ниша никогда не исчезнет.
>>218651215Утрируешь. Нет таких фрейморков которые устаревают за год. Фреймворк в среднем живет лет 5-10. На реакте уже лет 7 пишут. И нет, не чтобы ты набивал себе цену, с ними реально удобней разработки и быстрее идет, просто щас приложения сложнее стали и на старом стеке дольше и сложнее разработки, сложнее дальнейшая поддержка и т.д. Попробуй на jquery чето написать, а потом на каком-нибудь vue. Я про средние-большие проекты
>>218651389>На реакте уже лет 7 пишут. вот только версии блядь каждый месяц новые выходят, даже того же жквери уже версий и подверсий пара сотен
>>218651383Ну, можно сказать что да, щас вроде как все на си пишут для задач где раньше его применяли, а сам асемблер уходит в прошлое. Но точно сказать не ручаюсь, так как вебмакак и не знаю че там у ембедедов твориться.
>>218651445Сишные компиляторы сейчас довольно хорошо умеют оптимизировать код, но то что оно сможет заменить асм, я бы говорить не стал
>>218651431Старый функционал рефакторишь/оставляешь таким же, новый пишешь с новыми фичами, да и новые версии крутые фишки не каждый месяц приносят. Там в основном раз в пару лет глобальный апдейт какой-то. У меня щас проект старый, там ангуляр первый + жквери + какие-то ебанутые шаблонизаторы/гемы рубишные, пишу на старом стеке, ибо всю эту хуйню ебнешься переписывать, но со временем придется переписать все равно. Так что раз в 10 лет надо переписывать проект в современных реалиях. Нус по крайней мере фронт и при условии что тебе нужна скорость и много СПА фич.
>>218651340плохо тут то, что с теми же самыми усилиями можно устроиться в нормальную продуктовую команду (в идеале), на галеру (что похуже) или на ремоут за доллары.постоянно расти и делать интересную (не всегда и не сто процентов времени) работу, а не окучивать лохов, кекая над мемами про сроки с правки, и боясь потерять клиентовя был и там и там, в офисе у дяди и денег больше и уютнее и интереснее а на ремоуте вообще заебись. а рост так вообще несопоставим, пока ты один года барахтаешься во фрилансе норм пацаны вырастают за полгода до 3х твоей зарплаты и в хуй не дуюттак что ниша то эта никогда не исчезнет, тут ты прав. только это ниша поедания говна
>>218651625теюе достаточно знать, что от него отказываются крупные проекты и за нее не платятно вообще причин много: он морально устарел с точки зрения подходов к проектированию сайтов и приложений, он потерял практическую пользу с улучшением стандартов и их поддержки, он жирный, он тормознутый
>>218651625Легаси по сути, а если так то смотри сайт:http://youmightnotneedjquery.com/You Might Not Need jQueryОн был нужен для поддержки старых браузеров, и создания единого апи, а не ебли с вендорными функциями.Сейчас же это все более менее стандартизируется, и более лучший и простой вариант это фреймоворки, где ты делаешь модель данных, а обновление отображения уже выполняет сам фреймоворк.И если ты что-то делаешь с необходимостью обратной совместимости, то есть полифилы
Короче кому интересно, нашел библиотеку https://www.jqueryscript.net/table/jQuery-JSON-To-Table-Plugin.html, которая делает то что нужно, без всяких заморочек.
>>218651692>Спроектирую ка я велосипед, но с квадратными колесами>Фреймвок виноват! Абстракция плохая!Камон, из крайности в крайность жеДыры даже в архитектуре процессоров находят
>>218651692Чувак, я вебмакакен на роли жуниор. Мне вообще похуй на ваши низкоуревные темы, я формочки на фреймворках рисую. Абстракции сильно облегчают работу, ибо ты весь этот пиздос ебанулся бы писать на обычном жсе, итог был бы таковым что ты бы во время разработки свою реализацию спа фреймворка высрал, то есть абстракции неизбежны. Иначе ты ахуеешь.
>>218651828>Дыры даже в архитектуре процессоров находятНу и кто их чинить будет если никто не знает как процессоры работают?
>>218651682А чистый джс - дичь полная. Если мне как бэкенд разрабу джс нужен максимум для асинхронного общения с сервом без перезагрузки страницы, а аджакс плюс-минус удобен для этого, что теперь бросать юзать эти вещи? Все же юзают.
>>218651872Есть FetchApi, который встроен и тебе не надо ставить жквери вообще. То есть в скриптик написал сразу и все, без того чтобы либу тянуть.
>>218651939Речь о том, что если у человека нету понятия как что работает внутри в случае чего не сможет это починить, или в случае необходимости оптимизировать.
>>218651775решать проблему - хороший подходрешать проблему хуй пойми как не разбираясь - хуевый подход, избавляйся от него>>218651872что за хуйню я читаюесть fetch, есть 1001 библиотека для запросов, с кучей фичей, которые не тащат триста кубов говнаи там везде чистый жс, потому что xhr и fetch - это не жс, а DOM/BOM
>>218652001Ты наверное охуеешь но wasm не для фронта сделан а для других задач. Если тебе суперважна скорость фронта тебе следует юзать AppRun.
>>218652135Да, но он хорош если ты хочешь игрушку написать и шоб в браузере работала, для фронта такая себе затея.
>>218647573 (OP)>jquery, ajax и прочегоКак ты вернул 2007?>Как грамотно сделать html таблицу из json данных?Парсишь джонсон и обворачиваешь данные разметкой.
>>218652014пока что, главное - общий алгоритм работы с базой данных, выборка нужных полей, выполнение запросов, создание веб интерфейса и тд, то как я вывожу информацию мне не особо важно, пока что я не хочу углубляться в это
>>218652079>>218652087вы оба такую хуйню пишете, что я даже не знаю с чего начать> AppRunеще одна библиотека, про которую все забудут через год> вебасембли на много быстреехуйня, движки жса не долбоебы делаютесли захочешь написать быстрый код - напишешь. если не захочешь - никакой вебасембли тебе не поможета еще anyref'ы все еще не завезли, так что быстро можно только байты ебать, да и то не всегда, потому что булки тоже не завезли
>>218652220>для фронта такая себе затеяЧто вы блядь имеете в виду под фронтом?почему вы считаете что фронт это просто формы на веб странице?
>>218652280>AppRunЕсли тебе прям пиздец нужна скорость можно юзать, но хз зачем, в 99.99% случаев менйстримные фрейморки удовлетворят тебя по скорости.
>>218652291> почему вы считаете что фронт это просто формы на веб странице?Веб фронт это формы на веб странице, лулПростой фронт это клиентский uiА что ты понимаешь под фронтом судя по всему это client-side
>>218652415> прям пиздец нужна скорость можно юзатьэто очередные маня-фантазии как со свелте или пруфы есть? впрочем зачем я спрашиваю, и так понятно же