За последние 24 часа нас посетили 16634 программиста и 1644 робота. Сейчас ищут 1290 программистов ...

Помогите понять как работает strpos

Тема в разделе "Сделайте за меня", создана пользователем Kuzma Andreevna, 23 сен 2019.

  1. Kuzma Andreevna

    Kuzma Andreevna Новичок

    С нами с:
    23 сен 2019
    Сообщения:
    5
    Симпатии:
    0
    Доброго времени суток! Помогите, пожалуйста, понять, что делаю не так. Существует необходимость автоматического заполнения одного из полей (сумма наших счетов), которое должно быть равным сумме счета, но при этом обязательно при условиях, что поле "назначение счета" равно "Субподряд", а поле "Организация" содержит символ "$" (символ всегда расположен вначале слова). Спасибо!

    If (($line['Назначение счета'] == 'Субподряд')) && (strpos($line['Организация'], "$")) !== false) {
    $line['Сумма наших счетов'] == $line['Сумма счета'];
    } else {
    $line['Сумма расходных счетов'] == $line['Сумма счета'];
    }
     
  2. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    502
    Симпатии:
    58
    В условии, 0 это номер позиции символа.
    Т.е. позиция 0 это самый первый символ в строке.
    PHP:
    1. if ($line['Назначение счета'] == 'Субподряд'
    2.     && (strpos($line['Организация'], "$") === 0
    3. ) {
    4. $line['Сумма наших счетов'] = $line['Сумма счета'];
    5. } else {
    6. $line['Сумма расходных счетов'] = $line['Сумма счета'];
    7. }
    Чувак прочитай чем отличаются "=" от "==" и от "==="
     
    #2 yanuzay, 23 сен 2019
    Последнее редактирование: 23 сен 2019
  3. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Я конечно не претендую на абсолютную истину, но сама постановка задачи говорит (на мой взгляд) о том, что логику в этом месте надо переделывать полностью.

    К тому же, использовать кириллицу в качестве ключей массива - это такое себе... )) может я конечно ретроград, но яб не стал))
     
  4. Kuzma Andreevna

    Kuzma Andreevna Новичок

    С нами с:
    23 сен 2019
    Сообщения:
    5
    Симпатии:
    0
    Возможно Вы правы, я как полный ноль в этом вопросе не могу ничего Вам противопоставить)) Пытаюсь собственными силами упростить выполнение своих ежедневных функций, и , как можно заметить, пока это у меня не получается))) Но буду очень благодарна, если направите мои мысли, на путь истинный. Подскажите, пожалуйста, что не так с моей логикой?) в какую сторону двигаться?)
     
  5. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Почему бы и нет? :)

    Но мне нужно видеть полную картину происходящего.

    Вы можете заархивировать проект целиком и залить сюда же? Ну или куда-то еще, где его можно скачать и посмотреть.

    Потому что иначе я могу только догадываться о том, какую именно задачу вы пытаетесь решить "собственными силами" :)
     
  6. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    Вот это самое простое. Логика железная. Нормальная такая железная женская логика.
    На счёт всего остального, очередная "проблема молотка".
    О проблеме заполнения поля вы сказали, но где это поле, что это за поле, остаётся лишь догадываться. Гадать мы можем долго, учитывая, что вообще никуда не спешим.
     
  7. Kuzma Andreevna

    Kuzma Andreevna Новичок

    С нами с:
    23 сен 2019
    Сообщения:
    5
    Симпатии:
    0
    Простите, не подумала о том, что прошу помощи с решением (которое сама придумала), а не проблемой (которую специалист решит, возможно, по другому) Спасибо, что указываете и на ошибки в предоставлении информации))) Ситуация в общем то такая, фирма в своей деятельности использует CRM систему, (клиентская база называется). Основной таблицей в нашей конфигурации является таблица "Задачи", и ее подтаблица "Счета". В "Счета" добавляется информация о тех счетах, которые выставили мы, при реализации этой задачи, и те которые выставили нам наши поставщики/подрядчики. эта подтаблица имеет столбец "Назначение счета" с типом поля связь (выбираем нам выставили или мы выставили), поле "организация" (тип:связь) в котором выбираем название организации поставщика/подрядчика, видимо просто для удобного визуального восприятия компании подрядчика в своем наименовании содержат символ $ (всегда в начале слова), поле "сумма счета", поле "Сумма наших счетов" (дебет), поле "Сумма расходных счетов" (кредит), поле оплачено (тип: число). Задача исключить ручной ввод дебета и кредита, т.к., как правило, одно из них равно сумме счета (если мы выставили счет, то сумма уходит в дебет, если нам, то в кредит, но в кредите нужно исключить проставление суммы, если услугу оказывает подрядчик. вот, как то так))) как смогла, так постаралась объяснить
    --- Добавлено ---
    это звучит сложно, совсем не понимаю как это реализовать?
     
  8. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Ну просто всю папку с тем что вы уже наваяли - все файлы - добавьте в архив project.zip - и разместите где-нибудь, откуда это можно скачать. У вас же какие-то файлы наверное есть с кодом, да? Вот их.
    --- Добавлено ---
    То есть вы эту CRM прямо правите, да? "Наживую", так сказать? )))
     
  9. Kuzma Andreevna

    Kuzma Andreevna Новичок

    С нами с:
    23 сен 2019
    Сообщения:
    5
    Симпатии:
    0
    это звучит сложно, совсем не понимаю как это реализовать?
    Ага) это плохо?
    --- Добавлено ---
    Там есть конструктор вычислений, но в режиме конструктора, то что хочется сделать не осуществить, по этому пользуюсь режимом эксперта (иронично то как:)), если что накосячу всегда backup восстанавливаю все назад)))
     
  10. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Да не, норм)
    Но так давно уже не принято делать.
    Дело в том, что современное нормальное ПО - периодически обновляется.
    Насколько я понимаю, автором этой CRM являетесь не вы?
    И вот представьте: - Разработчики выкатили новую версию, и вам нужно обновить эту CRM, но при этом, скорее всего при обновлении все ваши правки будут затерты - в общем, возникает лишняя работа.
     
  11. Kuzma Andreevna

    Kuzma Andreevna Новичок

    С нами с:
    23 сен 2019
    Сообщения:
    5
    Симпатии:
    0
    Думаю, что это как-то предусмотрено разработчиками, раз они позволяют самостоятельно создавать необходимую конфигурацию и курсы для конфигураторов делают (но этого мало оказалось для осуществления задуманного) есть и встроенные таблицы и инструменты, но нам они не совсем подходят, по этому взяв их настройки за образец, создаём то, что нужно нам, к сожалению чего-то похожего на мои "хотелки" у них не нашлось, по-этому что-то простенькое сама делаю (не уверена, что все красиво и по уму, но работает), а вот тут затык, не понимаю что не так(
    @Roman __construct