Будь дома


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
77 3 14

Аноним 25/04/20 Суб 02:05:11 2186475731
image.png (76Кб, 1200x576)
1200x576
Сап 2ch. Вопрос к знатокам jquery, ajax и прочего. Как грамотно сделать html таблицу из json данных?
Аноним 25/04/20 Суб 02:31:06 2186487132
Шаг номер 1: не использовать jQuery
Шаг номер 2: используй голый vue.js одного двух компонентов хватит, чтобы построить таблицу
Какие конкретно задачи, что за таблица, формат данных примерно как выглядит
Программирование это не магия, чел
Аноним 25/04/20 Суб 02:35:12 2186488673
>>218647573 (OP)
Для начала нужно представить, как эту таблицу ты бы сделал, имея захардкоженные данные.
Аноним 25/04/20 Суб 02:38:58 2186490144
image.png (40Кб, 839x457)
839x457
image.png (23Кб, 492x283)
492x283
>>218648713
грубо говоря, я делаю веб интерфейс для взаимодействия с базой данных. Использую ajax для того чтобы отправлять запросы без перезагрузки страницы, я уже сделал отправку формы и добавление новой записи в таблицу. Теперь я хочу сделать вывод информации из БД в виде таблицы. Нагуглил что для этого используется json. Собственно я сделал получение данных в таком виде, и могу динамически выводить его куда мне нужно, осталось тоьлко форматировать запить в json формате в html таблицу.
пик1 - php файл, в котором я получаю нужные мне данные, пик2 - js скрипт, который выводит данные в нудный мне div.

Может я делаю полную хуету, но я только вкатываюсь
Аноним 25/04/20 Суб 02:46:01 2186492935
>>218649014
Пока напишу только о главных проблемах того что сразу вижу:
У тебя открытая sql инъекция, даже если ты просто учишься, лучше сразу учиться хорошим практикам. Не помню точно как в php биндятся значения, погугли что-то из разряда php sql bind value.
Потом ты пытаешься сразу жсон впихнуть как html, тебе его надо для начала отформатировать
Аноним 25/04/20 Суб 02:46:38 2186493306
еще попутный вопрос: во всех примерах и гайдах в ajax запросах обращаются к php файлу, в котором написан один скрипт. Есть ли возможность вызывать какую то конкретную функцию из php файла в ajax или js?
Аноним 25/04/20 Суб 02:48:34 2186493987
>>218649014
Тип в первом файле по-хорошему нужно посадить на валидацию и лучше передавать его без формы в GET.
По построению таблицы – сделай шаблон по типу
<tr id='template'>
<td> {{ user[0] }} </td>
...
<td> {{ user[n] }} </td>
</tr>

Который в последующем будешь копировать и итерациями наращивать строки по словарю из JSON'a
Аноним 25/04/20 Суб 02:51:19 2186495228
>>218649330
Ты не понимаешь суть AJAX-запроса. Считай ты просто обращаешься из браузера к странице /script.php которая потом возвращается в виде неотрисованного контента
Аноним 25/04/20 Суб 02:54:00 2186496389
>>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);
});
Все грубые наброски, пишу с мобильного, могут быть тайпо
Аноним 25/04/20 Суб 02:54:16 21864964710
>>218649522
Я вроде понимаю. Я имею ввиду, что на странице есть несколько кнопок и селектов, при нажатии/изменении которых должны происходить разные запросы, отправки форм и тд. Хочется реализовать php библиотеку функций, а не кучу отдельных файлов для этого
Аноним 25/04/20 Суб 02:54:30 21864966411
disappointed st[...].jpg (176Кб, 1024x768)
1024x768
>>218649014
>фу_блять_фу_нахуй.jpg
Если хочешь jquery, то за таблицами тебе в https://datatables.net/ Но лучше оставь надежду на вкат прямо сейчас, только время потеряешь, это уже понятно. Первые признаки неудачного вката — необучаемость, неумение сформулировать проблему и найти решение.
Аноним 25/04/20 Суб 02:55:56 21864972812
>>218649647
Делаешь get параметры и в php делаешь switch с параметрами
Аноним 25/04/20 Суб 02:57:46 21864980713
>>218649664
> https://datatables.net
Не самый лучший вариант, имхо
А ещё чувак пытается научиться, поэтому предлагать уже готовое решение это глупо
Аноним 25/04/20 Суб 02:58:11 21864982414
>>218649014
Ну так и рисуй теперь таблицу с помощью js, а в чем проблема-то?
Аноним 25/04/20 Суб 02:59:02 21864985815
>>218649807
В обучение так же входит умения искать готовые решения для тривиальных задач, а не изобретение велосипеда.
Аноним 25/04/20 Суб 03:00:45 21864992116
>>218649858
Человек хочет осознать как оно на базовом уровне работает
Аноним 25/04/20 Суб 03:01:42 21864996117
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
Array.prototype.forEach() - JavaScript | MDN
https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement
Document.createElement() - Web APIs | MDN
https://developer.mozilla.org/en/docs/Web/API/Node/appendChild
Node.appendChild() - Web APIs | MDN
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals
Template literals (Template strings) - JavaScript | MDN
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText
HTMLElement.innerText - Web APIs | MDN
https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML
Element.innerHTML - Web APIs | MDN

Обязательно к ознакомлению, для понятия о том, что тебе потребуется сделать
Аноним 25/04/20 Суб 03:06:28 21865013018
>>218649330
делаешь в одном пхп файле несколько функций, потом в аякс запросе добавляешь параметр, в пхп этот параметр ловишь и в зависимости от него вызываешь нужную функцию
Аноним 25/04/20 Суб 03:22:22 21865076819
Для начала перед решением любой задачи нужно смочь в алгоритмику. Взять и по шагам на русском языке расписать путь от исходных данных до конечного результата, как можно подробнее разбивая на подзадачи и шаги. В случае опа это может выглядеть так:
1. есть таблица в мускле с данными
2. значит нужен пхп скрипт, который эти данные вытащит.
2.1. запрос в базу
2.2. выдача полученных данных в json
3. вызов пхп скрипта с веб страницы
3.1. сделать запрос ajax
3.2. получить данные в виде json
4. сделать таблицу на веб странице
4.1. взять данные в виде json
4.2. каждую строчку обернуть в теги tr и td
4.3. вывести результат на веб страницу
Аноним 25/04/20 Суб 03:25:42 21865088520
>>218647573 (OP)
Зачем тебе jquery? Используй fetchAPI или axios. Дальше вон тебе анон написал, через createElement + innerHtml данные суешь.
Аноним 25/04/20 Суб 03:27:44 21865094721
>>218650885
не ОП но я хочу использовать xmlhttprequest, как с помощью него сделать тоже самое
Аноним 25/04/20 Суб 03:29:15 21865099522
>>218650885
Кстати, вот смотрел я ваш этот аоксис, а в чем киллерфичи перед простым фетчем?
Просто абстракция небольшая, или там есть что-то особо стоящее?
Аноним 25/04/20 Суб 03:30:31 21865104723
>>218650947
Зачем?
Если есть fetch, это изобретение велосипеда.
Если нужна поддержка древних браузеров то юзаешь полифил https://github.com/github/fetch
github/fetch: A window.fetch JavaScript polyfill. - GitHub
Аноним 25/04/20 Суб 03:30:33 21865104924
>>218650995
ничего нет просто обертка над промисами

другой анон
Аноним 25/04/20 Суб 03:30:56 21865106325
>>218651047
Я конкретный вопрос задал
Аноним 25/04/20 Суб 03:31:21 21865107826
>>218651049
Спасибо, буду знать, а то сомневается, тащить ли ещё одну либу на прод
Аноним 25/04/20 Суб 03:32:12 21865110627
Аноним 25/04/20 Суб 03:33:40 21865114428
>>218650947
Зайди в доку и почитай, но это легаси лютое так писать, то есть это говно древнее чем $ajax жикверевский, ну вообще пиздец короче, у меня проект есть которому 10 лет, там и ангуляр первый и жиквери, но такой хуйни не видел нигде.
Аноним 25/04/20 Суб 03:34:58 21865118029
>>218651144
Но ты же понимаешь что $ajax жикверевский это всего лиш навсего абстракция над xmlhttprequest, да и все остальное что именуется аяксом
Аноним 25/04/20 Суб 03:35:08 21865118430
Передашь матрицу на клиент, переворачиваешь её, циклом идёшь и создаёшь tr, в них td по элементу
Аноним 25/04/20 Суб 03:35:50 21865120531
>>218649014
если я буду быстро переключать селект, то на сервер улетит 100500 запросов. да и данные я увижу хуй пойми какие, какие последними придут

> done
это говно мамонта, иди читай про promis'ы и async/await

и лучше найди ментора, который на пару голов выше и будет постоянно ревьюить твой код и ускорит твой рост раза в два-три. плюс он не даст тебе незаметно для тебя нахвататься фрилансерского ворпресс жиквери говна а это примерно как быть васей с изолентой и ентой матерью, а не нормальным сантехником/электриком
Аноним 25/04/20 Суб 03:35:52 21865120732
>>218647573 (OP)
Можно как-то неграмотно сделать? Таблица она и в Африке таблица. Исходи из того что у тебя уже есть в проекте. Есть жквери — делай на жквери. Причём тут кстати аякс? У тебя жсон с сервера приходит?
Аноним 25/04/20 Суб 03:36:06 21865121533
>>218651144
А все эти новомодные фреймворки, которые через год устаревают, нужны просто для того чтобы погромисты набивали себе цену.
Аноним 25/04/20 Суб 03:36:12 21865122334
>>218651180
Тебе просто челик сказал что это легаси лютое, и что даже аякс был сделан чтобы не юзать это веселье
Аноним 25/04/20 Суб 03:38:13 21865127835
>>218651215
Устаревают - да, и что?
Для своего времени они хорошо выполняют свою задачу и ускоряют разработку в разы.
Аноним 25/04/20 Суб 03:39:13 21865130436
>>218651180
А асемблер абстракция над машинным кодом. И что дальше, на машинном коде писать? Абстракции для удобства, скорости разработки, etc создаются.
Аноним 25/04/20 Суб 03:40:11 21865134037
>>218651205
>фрилансерского ворпресс жиквери говна
А что в этом тащемта плохого? Всегда найдется тот кому нужен САЙТ ВИЗИТКА. Куча ебланов, которые наслушались что не надо РАБОТАТЬ НА ДЯДЮ и открыли наебизнес по перепродаже говна, ебашишь таким сайты на ворпрессе за 20к и норм. Наебизнесы конечно быстро прогорают, через год протухают домены и никому не нужные уже сайты уходят в небытие, но постоянно появляются новые мамкины бизнесмены. Эта ниша никогда не исчезнет.
Аноним 25/04/20 Суб 03:41:06 21865137938
>>218651304
Где скачать ide для хекс программирования на метале
Аноним 25/04/20 Суб 03:41:17 21865138339
>>218651304
То есть ассемблер это легаси?
Аноним 25/04/20 Суб 03:41:20 21865138940
>>218651215
Утрируешь. Нет таких фрейморков которые устаревают за год. Фреймворк в среднем живет лет 5-10. На реакте уже лет 7 пишут. И нет, не чтобы ты набивал себе цену, с ними реально удобней разработки и быстрее идет, просто щас приложения сложнее стали и на старом стеке дольше и сложнее разработки, сложнее дальнейшая поддержка и т.д. Попробуй на jquery чето написать, а потом на каком-нибудь vue. Я про средние-большие проекты
Аноним 25/04/20 Суб 03:42:20 21865143141
>>218651389
>На реакте уже лет 7 пишут.
вот только версии блядь каждый месяц новые выходят, даже того же жквери уже версий и подверсий пара сотен
Аноним 25/04/20 Суб 03:42:52 21865144542
>>218651383
Ну, можно сказать что да, щас вроде как все на си пишут для задач где раньше его применяли, а сам асемблер уходит в прошлое. Но точно сказать не ручаюсь, так как вебмакак и не знаю че там у ембедедов твориться.
Аноним 25/04/20 Суб 03:45:03 21865152143
>>218651445
Сишные компиляторы сейчас довольно хорошо умеют оптимизировать код, но то что оно сможет заменить асм, я бы говорить не стал
Аноним 25/04/20 Суб 03:47:14 21865159744
>>218651431
Старый функционал рефакторишь/оставляешь таким же, новый пишешь с новыми фичами, да и новые версии крутые фишки не каждый месяц приносят. Там в основном раз в пару лет глобальный апдейт какой-то. У меня щас проект старый, там ангуляр первый + жквери + какие-то ебанутые шаблонизаторы/гемы рубишные, пишу на старом стеке, ибо всю эту хуйню ебнешься переписывать, но со временем придется переписать все равно. Так что раз в 10 лет надо переписывать проект в современных реалиях. Нус по крайней мере фронт и при условии что тебе нужна скорость и много СПА фич.
Аноним 25/04/20 Суб 03:47:32 21865160945
>>218651304
Сдается мне ты не слыша о том, что абстракции периодически протекают
Аноним 25/04/20 Суб 03:47:52 21865162546
>>218648713
Почему лучше не юзать jquery?
Аноним 25/04/20 Суб 03:48:20 21865164347
>>218651340
плохо тут то, что с теми же самыми усилиями можно устроиться в нормальную продуктовую команду (в идеале), на галеру (что похуже) или на ремоут за доллары.
постоянно расти и делать интересную (не всегда и не сто процентов времени) работу, а не окучивать лохов, кекая над мемами про сроки с правки, и боясь потерять клиентов

я был и там и там, в офисе у дяди и денег больше и уютнее и интереснее а на ремоуте вообще заебись. а рост так вообще несопоставим, пока ты один года барахтаешься во фрилансе норм пацаны вырастают за полгода до 3х твоей зарплаты и в хуй не дуют

так что ниша то эта никогда не исчезнет, тут ты прав. только это ниша поедания говна
Аноним 25/04/20 Суб 03:48:44 21865166348
>>218651609
Тогда не юзай вообще жс, пиши на машинном коде свою ос и свой браузер.
Аноним 25/04/20 Суб 03:49:21 21865168249
Аноним 25/04/20 Суб 03:49:38 21865169250
>>218651663
Судя по твоему ответу, ты не слышал про дыры в абстракциях
Аноним 25/04/20 Суб 03:51:54 21865175551
>>218651625
теюе достаточно знать, что от него отказываются крупные проекты и за нее не платят
но вообще причин много: он морально устарел с точки зрения подходов к проектированию сайтов и приложений, он потерял практическую пользу с улучшением стандартов и их поддержки, он жирный, он тормознутый
Аноним 25/04/20 Суб 03:51:57 21865175752
>>218651625
Легаси по сути, а если так то смотри сайт:
http://youmightnotneedjquery.com/
You Might Not Need jQuery

Он был нужен для поддержки старых браузеров, и создания единого апи, а не ебли с вендорными функциями.
Сейчас же это все более менее стандартизируется, и более лучший и простой вариант это фреймоворки, где ты делаешь модель данных, а обновление отображения уже выполняет сам фреймоворк.
И если ты что-то делаешь с необходимостью обратной совместимости, то есть полифилы
Аноним # OP 25/04/20 Суб 03:52:19 21865177553
Аноним 25/04/20 Суб 03:54:16 21865182854
>>218651692
>Спроектирую ка я велосипед, но с квадратными колесами
>Фреймвок виноват! Абстракция плохая!
Камон, из крайности в крайность же
Дыры даже в архитектуре процессоров находят
Аноним 25/04/20 Суб 03:54:52 21865184855
>>218651692
Чувак, я вебмакакен на роли жуниор. Мне вообще похуй на ваши низкоуревные темы, я формочки на фреймворках рисую. Абстракции сильно облегчают работу, ибо ты весь этот пиздос ебанулся бы писать на обычном жсе, итог был бы таковым что ты бы во время разработки свою реализацию спа фреймворка высрал, то есть абстракции неизбежны. Иначе ты ахуеешь.
Аноним 25/04/20 Суб 03:55:26 21865186556
>>218651828
>Дыры даже в архитектуре процессоров находят
Ну и кто их чинить будет если никто не знает как процессоры работают?
Аноним 25/04/20 Суб 03:55:35 21865187257
>>218651682
А чистый джс - дичь полная. Если мне как бэкенд разрабу джс нужен максимум для асинхронного общения с сервом без перезагрузки страницы, а аджакс плюс-минус удобен для этого, что теперь бросать юзать эти вещи? Все же юзают.
Аноним 25/04/20 Суб 03:56:59 21865191358
>>218651872
Есть FetchApi, который встроен и тебе не надо ставить жквери вообще. То есть в скриптик написал сразу и все, без того чтобы либу тянуть.
Аноним 25/04/20 Суб 03:57:41 21865193959
>>218651865
А как же амд? Они же починили Spectre
Аноним 25/04/20 Суб 03:59:02 21865197660
>>218651872
Ну так и пиши через wasm тогда
Аноним 25/04/20 Суб 03:59:17 21865198261
>>218651939
Речь о том, что если у человека нету понятия как что работает внутри в случае чего не сможет это починить, или в случае необходимости оптимизировать.
Аноним 25/04/20 Суб 03:59:56 21865200162
>>218651976
Если будет важна производительность, то буду использовать wasm
Аноним 25/04/20 Суб 04:00:16 21865201463
>>218651775
решать проблему - хороший подход
решать проблему хуй пойми как не разбираясь - хуевый подход, избавляйся от него

>>218651872
что за хуйню я читаю
есть fetch, есть 1001 библиотека для запросов, с кучей фичей, которые не тащат триста кубов говна
и там везде чистый жс, потому что xhr и fetch - это не жс, а DOM/BOM
Аноним 25/04/20 Суб 04:00:57 21865204564
>>218652001
Так они примерно равны по производительности, не?
Аноним 25/04/20 Суб 04:01:06 21865205565
bump
Аноним 25/04/20 Суб 04:01:52 21865207966
>>218652045
вебасембли на много быстрее
Аноним 25/04/20 Суб 04:02:04 21865208767
>>218652001
Ты наверное охуеешь но wasm не для фронта сделан а для других задач. Если тебе суперважна скорость фронта тебе следует юзать AppRun.
Аноним 25/04/20 Суб 04:03:22 21865213568
>>218652087
>не для фронта
а на чем он выполощется, не на фронте ли?
Аноним 25/04/20 Суб 04:03:41 21865214669
Аноним 25/04/20 Суб 04:05:37 21865222070
>>218652135
Да, но он хорош если ты хочешь игрушку написать и шоб в браузере работала, для фронта такая себе затея.
Аноним 25/04/20 Суб 04:06:12 21865223871
>>218647573 (OP)
>jquery, ajax и прочего
Как ты вернул 2007?

>Как грамотно сделать html таблицу из json данных?
Парсишь джонсон и обворачиваешь данные разметкой.
Аноним # OP 25/04/20 Суб 04:07:09 21865226872
>>218652014
пока что, главное - общий алгоритм работы с базой данных, выборка нужных полей, выполнение запросов, создание веб интерфейса и тд, то как я вывожу информацию мне не особо важно, пока что я не хочу углубляться в это
Аноним 25/04/20 Суб 04:07:30 21865228073
>>218652079
>>218652087
вы оба такую хуйню пишете, что я даже не знаю с чего начать

> AppRun
еще одна библиотека, про которую все забудут через год

> вебасембли на много быстрее
хуйня, движки жса не долбоебы делают
если захочешь написать быстрый код - напишешь. если не захочешь - никакой вебасембли тебе не поможет
а еще anyref'ы все еще не завезли, так что быстро можно только байты ебать, да и то не всегда, потому что булки тоже не завезли
Аноним 25/04/20 Суб 04:07:50 21865229174
>>218652220
>для фронта такая себе затея
Что вы блядь имеете в виду под фронтом?
почему вы считаете что фронт это просто формы на веб странице?
Аноним 25/04/20 Суб 04:09:56 21865235675
>>218652291
Хотя бы взаимодействие с ДОМ, чего васм не может без использования жс.
Аноним 25/04/20 Суб 04:11:51 21865241576
>>218652280
>AppRun

Если тебе прям пиздец нужна скорость можно юзать, но хз зачем, в 99.99% случаев менйстримные фрейморки удовлетворят тебя по скорости.
Аноним 25/04/20 Суб 04:12:02 21865242377
>>218652291
> почему вы считаете что фронт это просто формы на веб странице?
Веб фронт это формы на веб странице, лул
Простой фронт это клиентский ui
А что ты понимаешь под фронтом судя по всему это client-side
Аноним 25/04/20 Суб 04:15:26 21865252478
>>218652415
> прям пиздец нужна скорость можно юзать
это очередные маня-фантазии как со свелте или пруфы есть? впрочем зачем я спрашиваю, и так понятно же
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов