Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter分页下拉列表选择过滤器_Php_Codeigniter_Pagination - Fatal编程技术网

Php codeigniter分页下拉列表选择过滤器

Php codeigniter分页下拉列表选择过滤器,php,codeigniter,pagination,Php,Codeigniter,Pagination,我已经创建了一个站点,在其中我将项目分组。当用户从提供的下拉菜单中选择一个项目并将其提交时,将检索与该项目编号相关的项目并发送回控制器 我的控制器 public function dwg_list() { $data['proj_num'] = $this->model_proj->proj_num_all(); $num_row = 1; if ($this->input->post('project_no') != '0') {

我已经创建了一个站点,在其中我将项目分组。当用户从提供的下拉菜单中选择一个项目并将其提交时,将检索与该项目编号相关的项目并发送回控制器

我的控制器

public function dwg_list()
{
    $data['proj_num'] = $this->model_proj->proj_num_all();
    $num_row = 1;
    if ($this->input->post('project_no') != '0')
    {
        $data['result'] = $this->model_issue->list_dwg($this->input->post('project_no'));

        if (count($data['result']) > 0)
        {
            $num_row = count($data['result']);
        } else $num_row = 1;
    }

    $this->load->library('pagination');

    $config['base_url'] = base_url() . '/index.php/dwg_issue/dwg_list/page';
    $config['total_rows'] = $num_row;
    $config['per_page'] = 2; 

    $this->pagination->initialize($config); 



    $data['main_content'] = 'dwg_list';
    $this->load->view('includes/template.php', $data);

}
我的看法

<h1>This page displays all the registered drawings</h1>
<br>

<div id="body">
<div class="row">
        <div class="form-group-sm"><lable class="col-sm-2 control-label">Project number:</lable>
    <?php
        $js = 'onchange="this.form.submit()" class="form-control" id="focusInput"';
        echo form_open('dwg_issue/dwg_list');
        echo "<div class=\"col-xs-2\">" . form_dropdown('project_no',$proj_num, $this->input->post('project_no'),$js)."</div>";
        echo form_error('project_no', '<div class="col-xs-4"><div class="alert alert-danger fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>','</div></div>');
    ?>
        </div>
        </div>
        <br>

<?php
echo "<noscript>".form_submit('submit','Submit')."</noscript>";
?>

        <table title="List of drawings" class="table table-hover" style="font-size: 14px">
            <caption><b>List of drawings</b></caption>
        <thead>
            <tr><th>Project number</th><th>Drawing number</th><th>Client drawing number</th>
                <th>Title</th><th>Size</th><th>Drawn by</th><th>Revision</th><th>Drawn Date</th></tr>
        </thead>    
        <tbody> &nbsp;
        <?php
            if(!empty($result))
            {
                foreach($result as $row)
                { 
                    echo "<tr>";
                    echo "<td>" . $row->project_no . "</td>";
                    echo "<td>" . $row->sws_dwg_no . "</td>";
                    echo "<td>" . $row->client_dwg_no . "</td>";
                    echo "<td>" . $row->dwg_title . "</td>";
                    echo "<td>" . $row->dwg_size . "</td>";
                    echo "<td>" . $row->dwg_by . "</td>";
                    echo "<td>" . $row->dwg_rev . "</td>";
                    echo "<td>" . date('Y/m/d', strtotime($row->dwg_date)) . "</td>"; 
                    echo "</tr>";
                }
            }

        ?>
        </tbody>
       </table>

       <?php echo $this->pagination->create_links(); ?>

</div>
此页面显示所有已注册的图形

项目编号:
也许将当前选择保存在表单处理程序“dwg\U问题/dwg\U列表”中的会话变量中是有意义的

每当呈现视图时,您都会查看会话变量“selectedDropDownItem”是否已设置,然后在写入时。。。您将打印“选定”选项

看看这个

echo "<select>";
foreach ($selectOptions as $as){
            //check session if default option set....
            if (isset($this->session->userdata['selectedOption'])){
                $defOption = $this->session_userdata['selectedOption'];
            }else{
                  $defOption= "";
            }


            if (!strcmp($defOption,$as)){ // if the current option is equal to the session stored option...
                echo "<option value=\"".$as."\" selected=\"selected\">".$as."</option>";
            }else{
                echo "<option value=\"".$as."\">".$as."</option>";  
            }           
        }
echo "</select>";
echo”“;
foreach($selectOptions作为$as){
//如果设置了默认选项,请检查会话。。。。
if(设置($this->session->userdata['selectedOption'])){
$defOption=$this->session_userdata['selectedOption'];
}否则{
$defOption=“”;
}
如果(!strcmp($defOption,$as)){//如果当前选项等于会话存储选项。。。
回显“$as.”;
}否则{
回显“$as.”;
}           
}
回声“;

如果我正确理解了您的问题,我认为您可以使用
URI段传递项目编号,这样您就可以随时访问选定的项目编号,而无需过账或使用过账方法

public function dwg_list($porject_no){
    echo $porject_no;
    ......
}
例如: www.your-domain.com/controller/dwg_list/{project_no}

我希望这能给你一些想法

以下是一个链接,我认为可以帮助您:


最好使用用户会话变量。如果用户离开页面或单击另一个链接,则会话变量必须刷新或终止-我该怎么做?在选择框中读取用于定义默认值的会话变量后,您将删除视图_文件中的会话数据。您可以使用$this->session->unset_userdata('some_name');请在《CI用户指南》中查找,谢谢您的帮助。我能够将URI段传递给页面,它几乎可以正常工作。我正在使用
onchange
submit来提交下拉列表,我想这就是让我感到困惑的地方。有什么想法吗?
public function dwg_list($porject_no){
    echo $porject_no;
    ......
}