Выберите * из таблицы, где столбец = имя пользователя не работает - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь внедрить код скидки на сайт, где платежный шлюз является жестким, все вроде нормально работает, но когда я пытаюсь получить% базы скидок на промо-код, пользовательский ввод из базы данных не работает вместо того, чтобы взимать цену со скидкой, он взимает полную цену и полностью игнорирует скидку

здесь код

$getcode = $getcode[1];
$user = $_SESSION['username'];
$total = $_SESSION['totprice'];

$sql6 = 'SELECT * from promocode where username="'.$user.'" and promo_code="'.$getcode.'" ';
$result6 = mysqli_query($con, $sql6);

while($row6 = mysqli_fetch_assoc($result6)) {
    echo "Discount: " . $row6["discount"]. "<br>";

    $discount =$row6["discount"];
    $grandtotal= $total - (($discount * $total) / 100);

    $publishable_key    = "*******************";
    $secret_key         = "********************";

    if(isset($_POST['stripeToken'])){


    Stripe::setApiKey($secret_key);
    $description    = "Invoice #".rand(99999,999999999) ;
    $amount     = $grandtotal;
    $user   = $_SESSION['username'];

, поэтому вместо

$amount = $total - (($discount * $total) / 100);

ее предоставление я

$amount = $total;

по какой-то причине

1 Ответ

1 голос
/ 30 января 2020

Вы не накапливаете все скидки. Каждый раз через l oop вы просто применяете скидку текущей строки к итоговой сумме, перезаписывая то, что рассчитали по предыдущим строкам.

Инициализируйте $grandtotal к итоговой сумме, а затем вычитаете из нее каждый раз до конца.

Кроме того, вы не должны допускать большого количества скидок, чтобы общая сумма go была ниже 0. Я проверяю это в конце.

$grandtotal = $total;
while ($row6 = mysqli_fetch_assoc($result6)) {
    echo "Discount: " . $row6["discount"]. "<br>";
    $discount = $row6["discount"];
    $grandtotal -= $total - (($discount * $total) / 100);
}
if ($grandtotal < 0) {
    $grandtotal = 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...