Вычтите сумму скидки из общей суммы после нахождения предоставленного пользователем кода скидки в файле .txt сопоставленPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вычтите сумму скидки из общей суммы после нахождения предоставленного пользователем кода скидки в файле .txt сопоставлен

Сообщение Anonymous »

Я работаю над простой системой кодов скидок на основе базы данных плоских файлов. Таким образом, пользователи попадают на страницу оформления заказа и могут ввести заданный код, и сумма, связанная с этим кодом, будет вычтена из окончательной стоимости корзины покупок. Ничего сложного.
Я могу сделать вывод и т. д., но я в замешательстве, потому что я использую базу данных с плоскими файлами и понятия не имею, работают ли такие вещи, как SELECT, WHERE предложение и т. д. будет работать в базе данных с плоскими файлами. И по этой причине я не могу связать код скидки с суммой, подлежащей вычету.
Вот что у меня есть на данный момент:

Код: Выделить всё

if (isset($_POST['disCode'])) {
$disCode = $_POST['disCode'];
$arr=file("FlatFile1.txt");

foreach($arr as $str)
{
list($code,$amount)=explode("|",$str);
}

$Total =  $Total - $disCode;
}
Как вы можете видеть в приведенном выше коде, я использую $Total = $Total - $disCode;, поэтому, если я помещаю число (например, 10 или 5 или любое другое номер) и отправьте форму, она вычтет (вычтет) эту сумму из $Total.
Но мне нужно использовать $code, который извлекается из файла FlatFile1.txt, а затем вычитается $amount, связанная с этим $code, из $Total.
Плоская структура файла выглядит следующим образом:

Код: Выделить всё

RFHSEP34 | 20

RETBBHUJ | 10

TYRHBNNM | 5
Первая часть — это $code, который будет передан пользователям, а вторая часть после | — это $amount, которая будет из суммы $Total вычитается $код.
Изменить
Я отредактировал свой код следующим образом. Я приближаюсь к тому, что хочу, но не имеет значения, что я ввожу в поле ввода (disCode), я всегда получаю сумму $amount последнего кода скидки, вычтенную из $Total!

Код: Выделить всё

    $arr=file("flatFile1.txt");

foreach($arr as $str)
{
list($code,$amount)=explode("|",$str);
}

if (isset($_POST['disCode'])) {
$disCode = $_POST['disCode'];

if ($disCode = $code)
{
$fDis = $amount;
$Total =  $Total - $fDis;

}
}
Что я могу сделать, чтобы решить эту проблему?
Чтобы воспроизвести мою проблему, вы можете создать файл .txt и назвать его FlatFile1.txt. . а затем используйте приведенный выше код плоского файла в этом файле. а затем создайте простую страницу PHP с моим последним кодом. и, наконец, создайте простую форму с полем ввода с именем disCode и простой кнопкой отправки на той же странице .php.
Что касается значения $Total, вы можно просто использовать следующее:

Код: Выделить всё

$Total = 50;
или $Total = '50';
Изменить 2
Я потратил слишком много времени на такие простые функция безрезультатна, поэтому я откажусь от нее, если не смогу получить ответ на это окончательное редактирование.
Я вставлю весь код со своей php-страницы, чтобы не было любая путаница!

Код: Выделить всё





Untitled Document













Приведенный выше код вообще не работает. это означает, что он не вычитает $amount из $Total.
Однако, если я изменю if ($disCode == $code) на if ($disCode = $code), он вычтет последнюю сумму $amount из flatFile.txt, не вводя ничего во входные данные disCode поле. поэтому мне просто нужно отправить форму, и сумма будет выведена, а это не то, что мне нужно.

Подробнее здесь: https://stackoverflow.com/questions/244 ... nt-code-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»