gpt4 book ai didi

mysql - 如何通过 POST 从选择数据表的选项中获取值(value)

转载 作者:行者123 更新时间:2023-11-29 15:31:38 24 4
gpt4 key购买 nike

我需要获取选项值 $user_id用于选择数据表。

更换时$user_id按号码 ''它工作正常,但我需要选择$user_id在生成的列表选项中

非常感谢,如果我的英语不好,请见谅^^!

查看

    <?php
$v = "";
if ($this->input->post('date_range')) {
$dr = explode(' - ', $this->input->post('date_range'));
$v .= "&start_date=" . $dr[0];
$v .= "&end_date=" . $dr[1];
}
?>


<div class="panel-body">
<?php echo form_open("panel/reports/repairbyuser"); ?>
<div class="form-group">
<?=lang('cuanhanvien', 'cuanhanvien');?>
<div class="input-group">
<div class="input-group-addon">
<i class="fa fa-user"></i>
</div>
<select required id="user_id" name="user_id" class="form-control user_id" style="width: 100%">
<option value=""><?=lang('chonnhanvien'); ?></option>
<?php
foreach($users as $user){
echo '<option value="'.$user->id.'">'.$user->first_name . ' ' . $user->last_name .'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<?=lang('report_Status', 'report_Status');?>
<div class="input-group">
<div class="input-group-addon">
<i class="fas fa-money-bill-alt"></i>
</div>
<select required id="status" name="status" class="form-control status" style="width: 100%">
<option value=""><?=lang('chontinhtrang'); ?></option>
<option value="1"><?=lang('delivered_user'); ?></option>
<option value="2"><?=lang('inprogress_user'); ?></option>
</select>
</div>
</div>

<div class="form-group">
<?= lang('date_range', 'date_range'); ?>
<input class="form-control" type="text" name="date_range" class="date_range" id="date_range" value='<?= set_value('date_range'); ?>'>
</div>
<div class="form-group">
<div class="controls">
<?php echo form_submit('submit', $this->lang->line("submit_draw"), 'class="btn btn-primary"'); ?>
</div>
</div>
<?php echo form_close(); ?>

Controller

   function repairbyuser()
{

$this->mPageTitle = lang('user_report_detail');
$this->render('reports/repairbyuser');
}
function getrepairbyuser($pdf = NULL, $xls = NULL)
{
if ($this->input->get('start_date')) {
$start_date = date('Y-m-d', strtotime($this->input->get('start_date'))) . " 00:00:00";
} else {
$start_date = date('Y-m-d 00:00:00');
}
if ($this->input->get('end_date')) {
$end_date = date('Y-m-d', strtotime($this->input->get('end_date'))) . " 23:59:59";
} else {
$end_date = date('Y-m-d 23:59:59');
}


$user_id = $this->input->post('user_id');


$status= $this->input->post('status');


$this->load->library('datatables');
$this->datatables
->select("date_opening, code, date_closing, name, CONCAT(reparation.category, ' ', reparation.model_name) as tenmay, defect, (grand_total-total) as tiendvsc")
->from('reparation');
if ($status == NULL) {
$this->datatables->where('reparation.date_opening BETWEEN "' . $start_date . '" and "' . $end_date . '"')
->where('assigned_to', '0');
} else if ($status == '1') {
$this->datatables->where('reparation.date_opening BETWEEN "' . $start_date . '" and "' . $end_date . '"')
->where('assigned_to', $user_id)
->where('date_closing is not null');

} else if ($status == '2') {
$this->datatables->where('reparation.date_opening BETWEEN "' . $start_date . '" and "' . $end_date . '"')
->where('assigned_to', $user_id)
->where('date_closing is null');
}
echo $this->datatables->generate();

}

如果子句工作正常,请尝试在 Controller 中分配 $user_id ='1', $status ='1'。

最佳答案

  • 您已将变量包含在单引号中,这将导致 $user_id 的字符串而不是它的值。

  • 所以改变
    if ($start_date) {
    $this->datatables->where('assigned_to', '$user_id')
    ->where('date_closing is not NULL');
    }

    To(删除 $user_id 周围的单引号)
    if ($start_date) {
    $this->datatables->where('assigned_to', $user_id)
    ->where('date_closing is not NULL');
    }
  • $start_date分配在哪里?
  • $start_date是一个局部变量,我看不到它被设置。你在哪里设置?

    目前,它总是会在您的 IF 语句中测试/评估为 FALSE。

    除非您将其定义为类中的属性并将其分配到其他地方,否则您将其称为 $this->start_date

    关于mysql - 如何通过 POST 从选择数据表的选项中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58685789/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com