Есть страница, на ней разные тексты, хранящиеся в БД.Хочу допилить в админку возможность редактировать эти тексты.Хранятся они там просто: id записи и столбец text с текстом. Записи могут добавляться или удаляться.Делаю так: foreach'ем перебираю все записи и текст каждой запихую в textarea. В конце кнопка "Сохранить", хочу чтобы по нажатию на сию кнопку все записи апдейтились в БД пусть все сразу обновляются, даже если там не было изменений, похуй. Передаю методом post.Вопрос: как реализовать сие? Что писать в name текстареи и что потом отлавливать? Чет вообще не могу додуматься. Необходимо, чтобы была только одна кнопка "сохранить" для всех записей.Как альтернативный вариант думаю сделать тупо аяксом, чтобы по событию набора текста он автоматом сейвился в базу, это норма вообще?
бамп
>>154254769 (OP)Так в чём проблема? запрос составить не можешь?UPDATE `pages` SET `text` = $_POST['text']Обновит все страницы в базе, возможно в синтаксисе запроса ошибся
>>154255073>$_POST['text']Количество записей в БД не фиксировано (они могут удаляться или добавляться), соответственно я не могу записать к каждой записи уникальный name <textarea name="text"> они должны генериться автоматически в момент перебора foreach'ем. Могу сделать name равным id записи, но как потом ловить его, он ведь может быть любым
выводи <input type=hidden name='ids[]' value='33'>потом у тебя в $_POST['ids'] будет массив айдишников, и потом через foreach будешь делатьUPDATE `pages` SET `text` = $_POST['text'] WHERE id = 'x'
>>154255516Запросы в цикле, грех.
>>154255516в текстэриа соотв тоже будет <textarea name= 'text[]' ... >
>>154255552Это еще почему?
>>154255516добра
>>154255632алсо, можешь запилисть фейкомыло, могу ревью сделать, мб посоветовать чегомимо-мидл
>>154255714webadev@yandex.ruНо я хз зачем
>>154255626Потому что База узкое место почти всегда, если есть возможность обойтись без цикла то ей нужно пользоваться, чтобы потом не горела жопа от того что простенький скрипт вешает БД.
>>154255516>UPDATE `pages` SET `text` = $_POST['text'] WHERE id = 'x'Мать твою шатал, на спине твоего отца, мидл, бля.UPDATE `pages` SET `text` = $_POST['text'] WHERE id IN (implode(',' , $_POST[ids])
>>154256424Один текст для всех записей? Не позорился бы...
>>154256424Это во-первых, во-вторых - операция in - более затратная.
>>154256424>>154257359Вообще вы зря ебетесь с составлением запроса ибо я всеравно юзаю ORM.Сделал так:<textarea name="texts[<?php echo $text->id; ?>]"в результате имею массив, где ключ - айди записи, а его значение - текст, на который нужно записать
>>154257573>записатьзаменить фикс