За последние 24 часа нас посетили 17790 программистов и 1280 роботов. Сейчас ищут 1509 программистов ...

Правильное ли условие

Тема в разделе "PHP для новичков", создана пользователем localghost, 29 май 2017.

Метки:
  1. localghost

    localghost Новичок

    С нами с:
    29 май 2017
    Сообщения:
    7
    Симпатии:
    0
    Приветствую ! Есть самописный POS для аптек на PHP. И тут чтоб кассир не смог продавать больше чем количество препарата которая есть на складе делаю так
    PHP:
    1. include('../connect.php');
    2. $nl = $_POST['nall'] ;
    3. $a = $_POST['invoice'];
    4. $b = $_POST['product'];
    5. $c = $_POST['qty'];
    6.    if($c > $nl) {
    7.       echo "<div align='center'><font color='red'
    8.      style='font:bold 22px 'Aleo';'>Внимание Вы не сможете расходовать больше чем остаток. Сейчас будете перенаправлены' </font> </div><br> ";
    9.       echo "<meta http-equiv=\"refresh\" content=\"3;url=" .
    10.       $_SERVER['HTTP_REFERER'] . "\">";
    11.    exit;
    12.    } ?>
    Как видно по коду если продаваемое количество препарата (переменная $nl) БОЛЬШЕ чем количества остатка на складе (переменная $c) то вывести ошибку. Но если допустим количество препарата на складе 10 шт и кассир собирается продавать тоже 10 шт то всё равно выводит ошибку что нельзя расходовать больше чем остаток. Как правильно написать условие чтоб именно когда кассир собирается продавать больше а не ровно вывести ошибку?
    --- Добавлено ---
    А это код формы откуда береться все вышеперечисленное
    HTML:
    1. <form action="incoming.php" method="post" >
    2.                                            
    3. <input type="hidden" name="pt" value="<?php echo $_GET['id']; ?>" />
    4. <input type="hidden" name="invoice" value="<?php echo $_GET['invoice']; ?>" />
    5. <select name="product" style="width:650px; "class="chzn-select" id=".my_select_box" required>
    6.  
    7.     <?php
    8.    include('../connect.php');
    9.    $result = $db->prepare("SELECT * FROM products WHERE qty >0");
    10.         $result->bindParam(':userid', $res);
    11.         $result->execute();
    12.         for($i=0; $row = $result->fetch(); $i++){
    13.     ?>
    14.         <option value="<?php echo $row['product_id'];?>"><?php echo $row['product_code']; ?> - <?php echo $row['gen_name']; ?> -Остаток <?php echo $row['qty']; ?> |  Код продукта <?php echo $row['shcod']; ?> | Годен до: <?php echo $row['expiry_date']; ?></option>
    15.         <?php $nal = $row['qty'];  ?>
    16.     <?php
    17.                }
    18.            ?>
    19.  
    20. <input type="hidden" name="nall" value="<?php echo $nal ;?>"/>
    21. <input type="text" name="qty" value="1" min="1" placeholder="ШТ" autocomplete="off" style="width: 68px; height:30px; padding-top:6px; padding-bottom: 4px; margin-right: 4px; font-size:15px;" />
    22. <input type="hidden" name="discount" value="" autocomplete="off" style="width: 68px; height:30px; padding-top:6px; padding-bottom: 4px; margin-right: 4px; font-size:15px;" />
    23. <input type="hidden" name="date" value="<?php echo date("m/d/y"); ?>" />
    24. <Button type="submit" class="btn btn-info" style="width: 123px; height:35px; margin-top:-5px;" /><i class="icon-plus-sign icon-large"></i> Добавить</button>
    25. </form>
     
  2. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    Код (Text):
    1. if($nl > $c ) {
     
  3. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Алекс8 "если наличие больше остатка то внимание вы не можете расходовать больше остатка"?
     
  4. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    $nl - продаваемое количество препарата
    $c - количество остатка на складе
    я по этой логике шел)) получается если $nl больше чем $c то надо выводить ошибку) не совсем понял где не прав))
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Алекс8 ну возможно. я читал код в первом посте и по nall сделал вывод, что в $nl будет nall-ичие, а в $c - продаваемое qty
     
    Алекс8 нравится это.
  6. localghost

    localghost Новичок

    С нами с:
    29 май 2017
    Сообщения:
    7
    Симпатии:
    0
    Прошу прощения за невнимательность ! ( поменял местами переменные ( , но вопрос уже решил ещё раз простите