Codeigniter:实现搜索功能

     2023-02-24     7

关键词:

【中文标题】Codeigniter:实现搜索功能【英文标题】:Codeigniter: implementing search functionality 【发布时间】:2020-07-18 11:02:23 【问题描述】:

错误: 遇到 PHP 错误 严重性:通知

消息:未定义变量:记录

文件名:views/Search_data.php

行号:80

回溯:

文件:/home/paychzaq/public_html/application/views/Search_data.php 线路:80 函数:_error_handler

文件:/home/paychzaq/public_html/application/controllers/Search.php 线路:13 功能:查看

文件:/home/paychzaq/public_html/index.php 线路:315 函数:require_once

控制器:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Search extends CI_Controller 
    function __construct() 
    parent::__construct();
     $this->load->model('Search_model'); 
     $this->load->database();
     $this->load->library('session');
 

function index()
$this->load->view('Search_data');


public function searchUser() 

        $key = $this->input->post('search');

        if(isset($key) and !empty($key))
            $data['records'] = $this->Search_model->searchRecord($key);
            $data['link'] = '';
            $data['message'] = 'Search Results';
            $this->load->view('Search_data' , $data);
        
        else 
            redirect('Search') ;
        
    

?>

型号:

<?php
class Search_model extends CI_Model 

    public function searchRecord($key)
    
        $this->db->select('*');
        $this->db->from('campaigns');
        $this->db->like('title',$key);
        $this->db->or_like('category',$key);
        $this->db->or_like('description',$key);
        $query = $this->db->get();

          if($query->num_rows()>0)
          return $query->result();
        
    

?>

查看:

<?php
  foreach($records as $row)
  
  $sr=$row->photo;
$ur=   site_url()."/campaign_info/campaign_detail/".$row->campaignid."/".$row->title."";

?>
           <div class="col-lg-3 col-sm-6">
            <div style="height: 40rem;" class="card card-product">
              <div class="card-header border-0">
                <h2 class="h6">
                  <a href="#"><?php echo $row->title?></a>
                </h2>
              </div>
              <!-- Product image -->
              <figure class="figure">
               <a href="<?php echo $ur; ?>"> <img  src='<?php echo $sr; ?>' style="max-width: 100%; height: auto; object-fit: contain;" class="img-center img-fluid"></a>
              </figure>
              <div class="card-body">
                <!-- Price -->
                <div class="d-flex align-items-center mt-4">
                  <span class="h6 mb-0"> <?php echo $row->price?> RS</span>
                  <span class="badge badge-success rounded-pill ml-auto"><a style="color: white"href="<?php echo $ur;?>">Details</a></span>

                </div>
              </div>
              <div class="p-4 border-top">
                <div class="row">
                  <div class="col-6 text-center">
                    <a href="<?php echo "#abc".$row->campaignid;?>" class="btn btn-sm btn-white btn-icon-only rounded-circle ml-4" data-toggle="modal">
                <span class="btn-inner--icon"><i class="fas fa-paper-plane"></i></span>
            </a>
                    <span class="d-block text-sm">Send Proposal</span>
                  </div>
                  <div class="col-6 text-center">
                    <span class="h5 mb-0"><?php echo $row->deadline ?></span><sup></sup>
                    <span class="d-block text-sm">Deadline</span>
                  </div>
                </div>
              </div>

<?php
   $url='proposal/validation/'.$row->campaignid;
  ?>
            <div class="modal fade" id="<?php echo "abc".$row->campaignid;?>" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
              <div class="modal-body"> 
              <?php echo form_open($url)?>
               <div class="form-group">
                  <label class="form-control-label">
                    Your Fees
                  </label>
                  <input name="fee" type="text" class="form-control">
                </div>
                <div class="form-group">
                  <label class="form-control-label">
                    Days To Complete
                  </label>
                  <input  name="days" type="text" class="form-control">
                </div>
                <!-- Project description -->
                <div class="form-group">
                  <label class="form-control-label mb-0">
                    Details 
                  </label>
                  <small class="form-text text-muted mb-2 mt-0">
                    This textarea will autosize while you type
                  </small>
                  <textarea name="details"class="form-control" data-toggle="autosize" rows="2"></textarea>
                </div>
                <button type="submit" class="btn btn-sm btn-primary rounded-pill mr-auto">Send</button>
               <?php echo form_close()?>
              </div>

            </div>
          </div>
        </div>
              <div class="card-footer">
                <div class="actions d-flex justify-content-between">
                  <a href="#" class="action-item">
                    <i class="fas fa-star"></i>
                  </a>
                  <a href="#" class="action-item">
                    <i class="fas fa-chart-pie"></i>
                  </a>
                  <a href="#" class="action-item text-danger">
                    <i class="fas fa-trash-alt"></i>
                  </a>
                </div>
              </div>
            </div>
</div>


    <?php
    
       ?>

【问题讨论】:

foreach($records as $row) $records 是在哪里定义的?它不在您的代码中。 请多描述一下您的问题 记录在控制器中定义:$data['records'] = $this->Search_model->searchRecord($key); 【参考方案1】:

我认为它是未定义的,因为在您的 index 方法中您尚未声明 $records 变量。在您看来,如果$records 可用,请尝试过滤:

<?php
if (!empty($records)) 
  foreach($records as $row)
  
  ...

【讨论】:

【参考方案2】:

在模型中

if($query->num_rows()>0)
   return $query->result();
else
   return array();

【讨论】:

使用 AJAX 和 CodeIgniter 创建实时搜索

】使用AJAX和CodeIgniter创建实时搜索【英文标题】:CreatinglivesearchwithAJAXandCodeIgniter【发布时间】:2014-03-2801:15:00【问题描述】:我正在尝试在CI中创建实时搜索功能(我以前从未做过)。我对Web开发还很陌生,并且仍在学习。我找... 查看详情

php codeigniter 邮编搜索!

】phpcodeigniter邮编搜索!【英文标题】:phpcodeigniterpostcodesearch!【发布时间】:2011-06-1113:24:42【问题描述】:我在英国,我想在我的网站上实现一个邮政编码搜索框。我从http://www.easypeasy.com/guides/article.php?article=64下载了数据库。... 查看详情

CodeIgniter "like()" 函数在搜索词中带有 % 通配符

】CodeIgniter"like()"函数在搜索词中带有%通配符【英文标题】:CodeIgniter"like()"functionwith%wildcardinsidesearchterms【发布时间】:2015-07-2513:57:40【问题描述】:假设我有这样的功能:publicfunctionget_list($category=\'\',$limit=10,$offs... 查看详情

在 CodeIgniter 中使用搜索过滤器进行分页

】在CodeIgniter中使用搜索过滤器进行分页【英文标题】:PaginationwithSearchFilterinCodeIgniter【发布时间】:2021-01-0205:17:39【问题描述】:当我搜索关键字并对其进行分页时,它会返回与数据库中类似查询匹配的数据。遇到PHP错误严重... 查看详情

Codeigniter 预订功能 - 将预订限制为每天 1 小时

】Codeigniter预订功能-将预订限制为每天1小时【英文标题】:CodeigniterReservationFunction-LimitReservationsto1HouraDay【发布时间】:2017-07-1322:51:13【问题描述】:所以我有一个预订功能,用户可以每天预订篮球场。我想要的是验证他们将预... 查看详情

如何使用 pjax 实现 Codeigniter 默认分页

】如何使用pjax实现Codeigniter默认分页【英文标题】:HowtoImplementCodeigniterDefaultpaginationwithpjax【发布时间】:2015-07-1310:46:15【问题描述】:我想用codeigniter实现Pjaxjquery库,其他功能工作正常。但是当我添加它时,它会分页并且它不... 查看详情

如何使用带有codeigniter的数据库中的JQuery使用自动完成功能?

】如何使用带有codeigniter的数据库中的JQuery使用自动完成功能?【英文标题】:HowtouseautocompleteusingJQueryfromdatabasewithcodeigniter?【发布时间】:2016-10-1604:02:44【问题描述】:这是我的搜索类型,代码如下:<inputtype="text"required="requi... 查看详情

使用 Codeigniter 搜索表单

】使用Codeigniter搜索表单【英文标题】:SearchformwithCodeigniter【发布时间】:2013-12-0320:36:58【问题描述】:我正在尝试在Codeigniter中创建一个搜索表单。我想为用户提供4个不同的搜索选项。对于结果,我想要一个显示我正在搜索的... 查看详情

在 codeigniter 中搜索查询

】在codeigniter中搜索查询【英文标题】:SearchQueryincodeigniter【发布时间】:2017-11-1900:12:26【问题描述】:我是codeigniter的新手。我想创建一个搜索栏,用户在其中写一些关键字,它将检查数据库中表的所有字段,然后显示相关结... 查看详情

CodeIgniter 搜索结果分页

】CodeIgniter搜索结果分页【英文标题】:CodeIgniterSearchResultsPagination【发布时间】:2014-03-2618:20:18【问题描述】:好吧,我已经四处搜索,但仍然找不到解决问题的方法。我还是php和codeigniter的新手,所以也许我已经错过了答案,... 查看详情

如何使用 CodeIgniter 解决日期范围搜索

】如何使用CodeIgniter解决日期范围搜索【英文标题】:HowtosolvethedaterangesearchusingCodeIgniter【发布时间】:2018-11-2006:16:36【问题描述】:控制器代码publicfunctiongetcari()$tglawal=date(\'Y-m-d\',strtotime($this->input->post(\'tgl1\',TRUE)));$tglakhir 查看详情

codeigniter 3 搜索按钮错误 404

】codeigniter3搜索按钮错误404【英文标题】:codeigniter3searchbuttonerror404【发布时间】:2017-11-2407:39:07【问题描述】:我在我的网站上使用codeigniter3,我尝试为用户创建一个搜索按钮,但我总是得到找不到对象!在此服务器上找不到... 查看详情

实现功能站内搜索

    实现一个功能即在站内搜索的时候敲入空格和没有输入的时候不会进行模糊搜索 查看详情

codeigniter中的搜索框提供空白数据

】codeigniter中的搜索框提供空白数据【英文标题】:searchboxincodeignitergivingblankdata【发布时间】:2021-11-0119:07:18【问题描述】:我在codeigniter中有一个简单的搜索框,控制器如下:functionsearchtrack()$this->load->model(\'excel_import_model\... 查看详情

二叉搜索树 - 实现“搜索”功能

】二叉搜索树-实现“搜索”功能【英文标题】:BinarySearchTree-implementinga"search"function【发布时间】:2019-02-2021:49:38【问题描述】:我正在尝试实现二叉搜索树,但“搜索”函数为除根以外的每个条目返回错误值。该函数应... 查看详情

如何在codeigniter中执行排序、搜索、分页

】如何在codeigniter中执行排序、搜索、分页【英文标题】:howtoperformsorting,search,paginationincodeigniter【发布时间】:2016-01-3012:47:05【问题描述】:我是codeigniter的新手。我想搜索、排序并将分页应用于我的表格。我尽力了。当搜索代... 查看详情

搜索点燃的数据表 CodeIgniter

】搜索点燃的数据表CodeIgniter【英文标题】:SearchonIgnitedDatatablesCodeIgniter【发布时间】:2015-03-2315:51:18【问题描述】:又是我,我需要你的最大帮助:)我正在写我的论文,还有很多工作要做,我确实搜索了很多,但我仍然没有找... 查看详情

复杂的 codeigniter 用户搜索查询

】复杂的codeigniter用户搜索查询【英文标题】:Complexcodeigniterusersearchquery【发布时间】:2011-12-2208:27:17【问题描述】:我有3个表用户、个人资料和位置。这些表的结构是:user表user_id|email|pass|activated|bannedprofile表user_id|name|birthday|p... 查看详情