У меня есть html-форма (каждая форма имеет свою страницу в соответствии с датой), с пятью текстовыми вводами, называемыми date, inp1, inp2, inp3 и inp4.
Например, у меня есть таблица базы данных со структурой, подобной этой: id | parent | name | value
.
В этом случае я хочу сохранить свои данные и добавить их к дате по родителям, например:
id | parent | name | value
1 | 0 | date | 20.07.2011
2 | 1 | inp1 | value-from-inp1
3 | 1 | inp2 | value-from-inp2
4 | 0 | date | 21.07.2011
5 | 4 | inp2 | value-from-inp2
6 | 1 | inp3 | value-from-inp3
7 | 4 | inp1 | value-from-inp1
и так далее ...
Но проблема начинается здесь. Я хочу создать опцию, чтобы вы могли обновить эти значения для ранее добавленных.
Но ВОПРОСЫ, как проверить, если
- У меня уже есть что-нибудь назначенное на эту дату?
- Если назначено, как определить и использовать для этого MySQL Update
- Если не назначено, как определить и использовать для этого MySQL Insert Into
Мое глупое и на 50% более неэффективное решение для загрузки страницы для этой проблемы звучит так (не беспокойтесь о безопасности, это просто макет):
if($_POST['submit']){
$inp1_data = $db->get_row("SELECT name FROM table WHERE parent = ".$parent_id." and name='inp1'");
if($inp1_data){$db->update($query)}else{$db->insert($query)}
// ... and so on, four copies of same code, just replacing "inp1" to "inp2", "inp3"...
}
Да, я знаю, что это бесполезный скрипт, на случай, если я добавлю еще один или сотни inpNUMBER, это будет тестовый сайт, 100% гарантированное время ожидания, неработающий скрипт.