За последние 24 часа нас посетили 22658 программистов и 1108 роботов. Сейчас ищут 599 программистов ...

навигация по странице PHP

Тема в разделе "PHP для новичков", создана пользователем Reken, 3 фев 2021.

Метки:
  1. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    Да, через разделитель, результат поменялся.
    Теперь у меня в обработчик уходит массив, содержащий в себе значения для ID,ZN1,ZN2 для каждой строки (то есть 300 значений, по 100 на каждый параметр).
    Что бы объяснить обработчику, какие именно цифры из массива вытаскивать (номер строки в которой я нажал изменить), я пока что только смог додуматься, вот до такого решения:
    Записать из БД массив, для всех значений. Сравнить массив с БД, с тем что приходит от JS в обработчик, и там где цифры не совпадут, сделать замену в БД...Как то так наверное.
    Вы бы так же сделали бы в обработчике? Или по другому решили бы задачу?
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Ну, я бы, наверное, отправлял только исправленное, и если старое содержимое исправленной строки в базе не равнялось новому, обновлял бы.
    Но дело вкуса.
     
  3. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    Спасибо за советы...
    Разве в моем конкретном примере возможно отправить только исправленную строку?
    Я же поставил значение name=ID_$i. А $i у меня меняется 100 раз, следовательно и значений будет 100 (массив).
    Я думаю возможно было бы отправить одно значение, только в том случае, если бы получилось зафиксировать, в какой именно строке была нажата кнопка...
     
  4. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Вы не до конца понимаете собственную задачу.
    Вам нужно передать обработчику текст и идентификатор исправляемой записи.
    Как вы это сделаете несущественно, это можно сделать и с помощью скрытых полей. Некоторую логическую сложность представляет обработка - сопоставление принятых полей. Нужно просто разобраться как работает отправка.
    Элементарно - для каждой строки отдельная форма.
     
  5. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    Не работает этот метод...У меня же тоже для каждой строки получается отдельная форма, и не срабатывает...
     
  6. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Скорее всего потому, что не добавляете атрибут name для формы.
    Не спешите с js, сначала освойте html. Как минимум в пределах задачи.
     
  7. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    В моей форме есть атрибут name...
    У меня получается на PHP и HTML отправлять форму в обработчик. В PHP работает всё как надо. Отправляются значения именно той строчки, на которой я нажимаю кнопку изменить.
    Но с PHP и HTML происходит обновление страницы. Вот поэтому я хочу это всё сделать через ajax, что бы динамически таблица обновлялась.
     
  8. BAbl_gun

    BAbl_gun Новичок

    С нами с:
    25 апр 2020
    Сообщения:
    32
    Симпатии:
    2
    Если ты не хочешь тратить время на изучение JS используй его библиотеку jQuery она вроде как проста в изучении.
     
  9. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Сформулируем задачу заново.
    1. Вывести значения строк таблицы базы данных в виде таблицы html
    2, При клике по определенной записи, отправить обработчику её идентификатор в БД с помощью Ajax.
    3. Получить от обработчика сформированную из записи форму с полем ввода и кнопкой "сохранить" и вывести её вместо записи.
    4. Изменить запись, нажать кнопку, отправить форму с помощью Ajax тому же обработчику, и получить от него обновленную запись в виде html кода. И вывести его вместо формы.
     
  10. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    JS скрипт и библиотеки, мне придется выучить...Так как WEB-программер не знающий JS, это не программер...

    @Drunkenmunky Спасибо за Ваши советы в этой теме...
    Моя задача, научиться делать следующее:
    1) Вывести из БД через PHP и HTML информация в форме таблицы. Что бы строки выводились через цикл for или forech или while...
    2) Научиться обновлять эту таблицу динамически через AJAX...Другими словами мне нужно что бы у выводимой таблицы, все ячейки были редактируемые...
    Вот собственно и всё. С первым пунктом у меня проблем нет. Со втором не получается, буду пробовать узнавать как это сделать в других источниках (форумы,репетиторы и т.д.), ну и сам конечно изучать и пытаться делать...
     
  11. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    198
    Симпатии:
    5
    По этой теме у меня есть небольшая зацепка.
    Через html форму назначаю id
    Код (Text):
    1. <td><input type='text' value=$row[ID] data-id3=$row[ID] name='ID'></td>
    В ajax пытаюсь вытащить это значение по id
    Код (Text):
    1. var ID = $(this).data("id3");
    Ajax не видит значения... Где я ошибаюсь?