Я использую 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.
из выпадающего меню выбора.
ПРОДАЖА СТОЛ
ТАБЛИЦА ПОЛУЧЕНИЯ
Выберите опцию в 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']; ?> =>
<?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;
}
}
Я сделал эту функцию в моей 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);