Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
500 ₽

Написать PHP-скрипт проверки номеров колонок

closed by moderator
PHP


Есть обычный екселевский файл – прайс. Прайс переводится в массив(номер строки)(номер колонки), затем проверяется его соответствие настройкам и, если все правильно, прайс обновляет базу. Сейчас для функции проверки жестко указаны номера колонок, в которых указаны значения, она проверяет, соответствуют ли заголовки указанным номерам колонок, и, если да, выдает положительный результат. 

В связи с тем, что в прайсе периодически происходят изменения – пропадает одна колонка, колонки меняются местами, меняются заголовки, необходимо написать следующий скрипт, который будет не производить проверку, а определять реальные номера колонок: 

- брать значения из каждой колонки, проверять в каком поле они находятся в базе (части значений может не быть в базе, это надо учесть), и выдавать название поля, которое соответствует данной колонке; 

- сложность с колонками остатки (остатки меняются и отображаются у разных поставщиков по-разному: например >10, *, **, <5) и цены (их несколько, розничная, оптовая). Для колонки с остатками можно придумать регулярное выражение. Для цены – аналогично, но так же с учетом заголовка. 

Таким образом, необходимо сделать, чтобы скрипт определял, что, например, в 3 колонке в массиве – артикул, в 5 – оптовая цена, в 7 – срок гарантии, в 8 – розничная цена. 

Для работы предоставлю дампы нескольких БД, несколько екселевских файлов, скрипт, который превращает файл в массив.


Make a proposal!

The client doesn't want to make prepayment? Offer him to make a payment via Safe to avoid possible fraud.

  1. 2 days50 $
    Алина Косогор
     218   3    0

    Добрый день. Есть большой опыт с распарсиванием файлов Excel и их обработкой. Готова выполнить, обращайтесь.

    Ukraine Kropivnitskiy (Kirovograd) | 30 March 2016 |
  2.  1865 
    13   52    4

    5 days3000 ₽
    Максим У. verified 

    +

    Ангел-хранитель ваших проектов - скайп и телеграм techv6.

    Ukraine Kyiv | 30 March 2016 |
  3.  2415 
    13   75    0

    2 days50 $

    Здравствуйте. Готов работать с Вами. Пишите в л/с

    Для быстрой связи: https://t.me/khlystou

    Belarus Mogilev | 30 March 2016 |
  4.  freelancer isn't working in the service any longer
  1. proposal withdrawn
  • Максим У.
    Complain | 30 March 2016 |

    Здравствуйте! 

    500 руб - это реальная цена, которую Вы готовы заплатить за подобный скрипт?


  • Alex Alex — project author
    Complain | 30 March 2016 |

    Здравствуйте! А что вы предлагаете?

  • Максим У.
    Complain | 30 March 2016 |

    3000 руб.

    И я предлагаю не такой алгоритм, как Вы описали. 

    Однозначно не утверждаю, что мой лучше предложенного Вами, так как не видел ни базу ни ексель-файл, и мне пока непонятно как Вы хотите определять в каком поле значения из файла находятся в базе. Но работать он будет со 100% точностью.

    Приступить к выполнению задачи смогу завтра в обед.

    Если заинтересованы, пишите в лс или скайп makcweb.

    Спасибо.

  • Alex Alex — project author
    Complain | 30 March 2016 |

    Я предлагаю простой перебор определенного количества вариантов.

    Слишком дорого у вас.

  • Максим У.
    Complain | 30 March 2016 |

    то есть перебор?

    Например у нас есть в прайсе колонка Цена и её положение нам неизвестно заранее, а в базе есть поле price. Как мы определим, что именно из колонки Цена надо писать данные в price?

    Вы не обязаны отвечать, просто интерсен Ваш подход.

  • Alex Alex — project author
    Complain | 30 March 2016 |

    1. Определить колонки в которых есть данные.

    2. Сделать запрос в БД, первых 50 строк и прайса с поиском нужного значения в каждом поле. Где результат будет близок к 100 % - там нужное поле.

    3. Останутся колонки с ценами. Определить среднюю цену по тем, где проставлены значения по всем колонкам. Минимальная цена - оптовая, средняя - мелкооптовая, максимальная - розничная.

  • Максим У.
    Complain | 30 March 2016 |

    Но ведь такой скрипт может цену с количеством, например, перепутать. И там и там цифры. Или я какой то изюминки в Вашем алгоритме не уловил?

  • Alex Alex — project author
    Complain | 30 March 2016 |

    Может, но, как правило:

    1) количество - это не цифра, а примерное обозначение <5, ** и т.д.

    2) цена, как правило, содержит валюту

    3) если у нас остается, например, 4 колонки, то можно найти, значения в каких колонках связаны, а в каких - нет

    4) если колонки 2 - количество - меньшая.

  • Add

Client
Alex Alex
Russia Russia  37    0
Project published
30 March 2016
198 views
Payment methods
Labels