каждый день Я получаю xml-файл, из которого можно экстраполировать (с php) набор данных (около тысячи записей) и запомнить их в mysql (так что все в порядке).php e query with if else
Для простоты предположим, что файл XML содержит следующие поля:
date (AAAAMMDD) ;
replace ('S','N');
progressive (1,2,... n);
field 1 ;
field 2 ;
....
field n;
и что таблица MySQL выглядит следующим образом:
id;
date;
substitution;
progressive ;
field1 ;
field2 ;
....
fieldn;
В файле XML, если у меня есть поле замены = 'S' означает, что файл заменяет файл, отправленный ранее, и прогрессивный указывает версию (может получить больше замен).
Теперь я хотел бы, чтобы справиться с этим следующим образом:
1. if data != '$date' then insert in MySQL
2. if data = '$data' and replace = 'S' and progressive > $progressive then update
3. if data = '$data' and replace = 'S' and progressive <= $progressive then go out
Для пункта 1 все в порядке, но я не могу справиться с 2 и 3. Не могли бы вы мне помочь? Спасибо всем.
Стивен, В моем случае, я должен делать: если (замените $ == «S») { $ query = 'UPDATE [tablename] SET [fields_to_update] WHERE date =' $ date 'AND progressive> $ progressive'; else $ query = 'insert ....'; } верный? –
нет действительно. Когда '($ replace! = 'S')' это не всегда 'insert'. Это вставка, если данные не существуют в db, не так ли? Также будьте осторожны с 'WHERE date = '$ date' AND progressive> $ progressive'', потому что дата не является вашим основным ключом, я думаю. Используйте свой первичный ключ для 'where', если у вас более одной записи с той же датой. – steven