Как скрыть опцию из выбранного DropDown, если одинаковый идентификатор существует в обеих таблицах

0

Я использую PHP, основанный на структуре MVC, у меня есть 2 таблицы sale и receipt, когда пользователь хочет сделать receipt он/она выберет опцию выпадающего списка, Номер Sale No. поступающий из таблицы sale DB, которая имеет значение sale_id, поэтому этот пользователь делает recept от имени sale и sale_id в таблице receipt, я хочу добиться того, чтобы, если sale_id существовал в таблице receipt, скрыл эту опцию в параметрах Select DropDown.

Как и в следующих изображениях, у меня есть 3 sale записи о 3 sale и 1 receipt запись о 1 receipt запись о receipt содержит sale_id, я хочу скрыть этот номер Sale No. из выпадающего меню выбора.

ПРОДАЖА СТОЛ Изображение 174551

ТАБЛИЦА ПОЛУЧЕНИЯ Изображение 174551

Выберите опцию в Receipt

<select class="form-control" id="sale_id" name="sale_id">
  <option disabled selected value="">Select One</option>
  <?php foreach($sales as $sale): ?>
  <option value="<?php echo $sale['sale_id']; ?>" <?php echo ($sale_id==$ sale[ 'sale_id']? 'selected="selected"': ''); ?>>
    <?php echo $sale['sale_no']; ?>&nbsp;=>&nbsp;
    <?php echo $sale['customer_name']; ?>
  </option>
  <?php endforeach; ?>
</select>

My Receipt Controller: как я получаю данные из таблицы продаж в опции DropDown

$this->model['sale'] = $this->load->model('sale/sale');
$this->data['sales'] = $this->model['sale']->getRows();

Модель моего чека

class ModelTransactionReceipt extends HModel {

    protected function getTable() {
        return 'receipt';
    }

    protected function getView() {
        return 'vw_receipt';
    }

    public function getMaxReceiptNo(){
        $sql = "SELECT MAX(receipt_no) as max_no FROM 'receipt'";
        $query = $this->db->query($sql);
        $record = $query->row;

        if(empty($record['max_no'])) {
            $max_no =  1;
        } else {
            $max_no =  $record['max_no']+1;
        }

        return $max_no;
    }
        public function getRemainingSale() {
           $sql = "SELECT sale_id";
           $sql = " FROM 'sale'";
           $sql = " WHERE  sale_id NOT IN (SELECT sale_id FROM 'receipt')";

           $query = $this->db->query($sql);
           $record = $query->row;
    }

}
  • 0
    Загрузите свою модель, а также. Мы должны загрузить ответ с вашей моделью запроса
  • 0
    @ MD.JubairMizan Модель обновлена ....
Показать ещё 8 комментариев
Теги:
database

1 ответ

0

Я сделал эту функцию в моей Sale Model:

    public function getRemainingSale() {
        $sql = "SELECT 'sale_id',";
        $sql .= " 'sale_no',";
        $sql .= " 'customer_name',";
        $sql .= " 'sale_amount'";
        $sql .= " FROM   sale";
        $sql .= " WHERE  sale_id NOT IN (SELECT sale_id FROM 'receipt')";

        $query = $this->db->query($sql);
        $record = $query->rows;
        return $record;
    }

И вызовите Sale Model с этой функцией в receipt controller:

        $this->model['sale'] = $this->load->model('sale/sale');
        $this->data['sales'] = $this->model['sale']->getRemainingSale();
//        d($this->data['sales'],true);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню