- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Столкнулся с такой проблемой.
Вывожу значения из БД в <input> для их редактирования.
$select = mysql_query("SELECT * FROM news");if(!$select){
return exit("Ошибка выборки");
}
while($row = mysql_fetch_array($select)){
echo "<input type='text' name='title_edit' value='".$row['title']."'> <input type='text' name='text_edit' value='".$row['text']."'><input type='submit' value='Изменить' name='test'><br>";
}
Получается такая форма:
Нужно, чтобы при изменение данных в input и потом нажатии на кнопку "Изменить" эта строка менялась.
Если сделать так, то меняется только последняя запись
if($_POST['test']){
$id = $_POST['id'];
$title_edit = $_POST['title_edit'];
$text_edit = $_POST['text_edit'];
mysql_query("UPDATE news SET title='$title_edit', text='$text_edit' WHERE id='$id'");
}
Подскажите, как можно решить данную проблему.
Делайте каждый input с кнопкой в отдельной <form></form>
umka - зачем?
передавай массив:
name='title_edit[]' ну и обрабатывай по списку. например foreach
можно также в массив пихать значение id, проверять на то - что изменилось или нет, да и вообще кучу действий.
umka - зачем?
Вопрос был о том, как изменять конкретную строку, у которой нажата кнопка.
Мой ответ был именно об этом.
Я вообще не вижу, чтобы в форме передавался id. Его нужно формировать для каждой строки, например, в input с type="hidden". И, да, строки в отдельные формы.
Для ТС'а проще именно формами для каждой записи. Массивом он будет всю форму гнать туда сюда, а тогда уже нет смысла ставить для каждой строки отдельный "изменить".
Можно сохранить и по одной записи аяксом, а можно все скопом отправив форму обычным методом.
Имена параметров можно генерировать и по такому принципу
name='title_edit[{$row['id']}]'
name='text_edit[{$row['id']}]'
name='id[]'
И обращаться к ним
foreach($_POST['id'] as $id){
$id = intval($id);
$title = $_POST['title_edit'][$id];
$text = $_POST['text_edit'][$id];
}
;12870333']Делайте каждый input с кнопкой в отдельной <form></form>
Я так делал и все ОК, но мне кажется это как-то не оптимально)
siv1987, получается код будет вида:
И файл edit.php
Подскажите, где ошибся
Да, примерно такого вида должен получится код. Не понятно только что там за return exit. Дальше уже зависит в каком контексте работает ваше приложение. Естественно здесь только часть которая относится к сути задачи, остальное уже нужно вам настроить - подключение к бд, подключение js скриптов (jquery) и тп.
Да, примерно такого вида должен получится код. Не понятно только что там за return exit. Дальше уже зависит в каком контексте работает ваше приложение. Естественно здесь только часть которая относится к сути задачи, остальное уже нужно вам настроить - подключение к бд, подключение js скриптов (jquery) и тп.
Уже не раз меня спасаете ;), Спасибо! В скрипте разобрался, всё заработало как надо!