Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте, друзья. Ситуация такова - есть таблица с несколькими строками и четырьмя полями (id, naimenovanie, colvo, price). В админке сайта можно редактировать значение любого поля в любой строке (например, в первой строке нужно изменить цену, в третьей - кол-во и т.д.). Подскажите, начинающему, как сделать UPDATE одним запросом правильно? При таком раскладе обновляется только последняя строка таблицы ("UPDATE neonprice SET naimenovanie='$naimenovanie', colvo='$colvo', price='$price' WHERE id=$id"), а если узазать конкретные значения (id=1, id=2 и т.д.), то заменяется значения строк (id которых указали) значением последней строки. Пожалуйста, помогите разобрать проблему. Спасибо
Неактивен
делайте отдельный запрос для изменения каждой строки
UPDATE neonprice SET naimenovanie='$naimenovanie' WHERE id=1
UPDATE neonprice SET price='$price' WHERE id=3
и т.д.
Неактивен
vasya написал:
делайте отдельный запрос для изменения каждой строки
UPDATE neonprice SET naimenovanie='$naimenovanie' WHERE id=1
UPDATE neonprice SET price='$price' WHERE id=3
и т.д.
Все равно заливает все 7 строк значением последней 8. Вот блин, что за ерунда?
Неактивен
значит что-то происходит не то
покажите какие запросы реально выполняются
Неактивен
vasya написал:
значит что-то происходит не то
покажите какие запросы реально выполняются
Да в том-то и дело... Еще не соображаю нифига... Ну делал вот так
<?php
require __DIR__.'../admin-bloki/on-db.php';
if (isset($_POST['id'])) {$id = $_POST['id'];}
if (isset($_POST['perechen'])) {$perechen = $_POST['perechen'];}
if (isset($_POST['colvo'])) {$colvo = $_POST['colvo'];}
if (isset($_POST['cena'])) {$cena = $_POST['cena'];}
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=1");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=2");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=3");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=4");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=5");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=6");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=7");
mysql_query("UPDATE vyveski SET perechen='$perechen', colvo='$colvo', cena='$cena' WHERE id=8");
?>
Неактивен
у вас есть какие-то значения $perechen, $colvo, $cena
и вы во всех восьми строках обновляете данные на эти значения.
нужно менять только те значения, которые изменились
т.е. в форме поменяли значение цены у третьей строки, делаете запрос
UPDATE neonprice SET price='$price' WHERE id=3
и т.д.
Неактивен
vasya написал:
у вас есть какие-то значения $perechen, $colvo, $cena
и вы во всех восьми строках обновляете данные на эти значения.
нужно менять только те значения, которые изменились
т.е. в форме поменяли значение цены у третьей строки, делаете запрос
UPDATE neonprice SET price='$price' WHERE id=3
и т.д.
Так, какое-то просветление пошло. Подскажите, а что делать с теми значениями которые остались без изменений? Получается что их сохранить не получится?
Неактивен
а зачем их менять, если они остались без изменений?
нет, вы конечно можете обновлять всё, но смысл?
например, у вас изменилась только цена в третьей строке, обновлять остальные поля в третьей строке и все другие строки - лишняя работа
Неактивен
vasya написал:
а зачем их менять, если они остались без изменений?
нет, вы конечно можете обновлять всё, но смысл?
например, у вас изменилась только цена в третьей строке, обновлять остальные поля в третьей строке и все другие строки - лишняя работа
Да если бы заказчик понимал как менять значения в базе данных там где куплен хост, конечно проблем было бы меньше, и я бы с админкой на сайте не парился. Пока для меня сложновато, конечно. Но после того как они картинки в портфолио прислали jpg и JPG, и говорят что сами хотели бы картинки добавлять - меня уже ничего не удивляет. Огромное спасибо Вам за помощь.
p.s. Буду благодарен если скинете ссылку на адекватный мануал по MySQL. Тяжеловато учиться по интернету где все говорят о своей адекватности, а на самом деле очень много шлака и, к сожалению, мало правильно поданной информации. Еще раз спасибо и удачи.
Неактивен
самый адекватный это документация - https://dev.mysql.com/doc/refman/5.7/en/
из книжек рекомендуют Харрис, PHP/MySQL для начинающих
Неактивен
Страниц: 1