Если поле пусто INSERT INTO иначе UPDATE.

1. Константин (25.07.2010 / 23:19)
Вообщем есть код, который из POST Формы забивает значения в базу.
Нужно реализовать так, типа Если поле пустое то mysql_query("INSERT INTO `settings` SET.....
а если не пустое mysql_query("UPDATE `settings` SET....
в таблице есть к примеру поля login, password, gorod, old

2. Neformat (25.07.2010 / 23:34)
Какое поле? В базе? Если в базе, делай перед этим select этого поля, а потом уже if/else

3. Виталий (25.07.2010 / 23:34)
<?
if (!$_POST['name'])
{
mysql_query("INSERT INTO user (name) VALUES ('$test')");
}
else
{
mysql_query("UPDATE user SET name='".$_POST['name']."' WHERE id='".$id."' ");
}
?>
чтото такое

4. Azzido (25.07.2010 / 23:34)
Поле ввода? Или ячейка в базе данных? если про поле ввода, то там элеиентарный isset(); или empty(); ну или if($var==''){}

5. Константин (25.07.2010 / 23:36)
Или ячейка в базе данных... насчет поля, это я знаю) имеется уже такое)

6. Саня (25.07.2010 / 23:37)
Ну а че мешает?
SELECT * FROM ...
если empty значит INSERT а если нет, значит UPDATE, по крайней мере данные тебе дергать полюбому придетсяsmile

7. Виталий (25.07.2010 / 23:38)
5.тоесть тебе надо извлечь дание из БД и если по ид и если там например name==0 то инсерт а если ==1 то оновить?

8. Константин (25.07.2010 / 23:42)
Таблица User
В ней 4 поля
login, password, gorod, old
Всего лищь одна ячейка
Max567 qwerty Kiev 16

9. Константин (25.07.2010 / 23:43)
Тоесть если пусто то использовать не UPDATE (так как ничего не произойдет) а INSERT чтобы заполнить, и в дальнейшем при заполненом будет выполняться только Update

10. Виталий (25.07.2010 / 23:44)
8.обясни конкретней

11. Константин (25.07.2010 / 23:49)
login password gorod old
Max567 qwerty Kiev 16

вот так выглядит база.
login` varchar(15) NOT NULL default '',
`password` varchar(25) NOT NULL default '',
`gorod` varchar(20) NOT NULL default '',
`old` int(2) NOT NULL default '',

12. Женек (25.07.2010 / 23:53)
Vitaliy (25 Июля 2010 / 23:44)
8.обясни конкретней
да что млин не понятно? Есть запись в базе, значит нужно обновить, иначе вставить, автору уже сказали как

13. Саня (25.07.2010 / 23:58)
#1, #6 чти smile )

14. Константин (26.07.2010 / 00:06)
Спасиб, разобрался) Просто я PHP не знаю и поэтому туплю)

15. ramzes (26.07.2010 / 08:57)
if($sql->query("UPDATE ... WHERE ...."))
else
$sql->query("INSERT INTO ... ");
так разве не пашет?

16. DmitryDick (26.07.2010 / 09:29)
insert into `table` set `unique-поле`='value', `поле`='value', `поле`='value'
on duplicate key update `поле`='value', `поле`='value'

URL: https://visavi.net/topics/11896