标签: codeigniter

在Codeigniter中对WHERE子句进行分组

我想在Codeigniter中使用Active Records生成以下SQL代码:

WHERE name != 'Joe' AND (age < 69 OR id > 50)
Run Code Online (Sandbox Code Playgroud)

做到以下似乎是我能得到的,我无法弄清楚如何将它们分组

$this->db->select()->from('users')->where('name !=', 'Joe')->where('age <', 69)->or_where('id <', $id); 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我的SQL查询太复杂了,所以我不想重写传统SQL中的所有内容.

UPDATE

我的SQL代码是动态生成的,具体取决于传递给模型方法的某些参数的值.不能使用括号的问题会导致问题,因为运算符优先级是AND先评估的OR.

*这是我的活动记录代码的一大块,其中有一些其他代码在它之前和之后:

            ... some $this->db->where() ...
            ... some $this->db->where() ...

    if($price_range) {
        $price_array = explode('.', $price_range);
        for($i = 0; $i < count($price_array); $i++) {
            if($i == 0) {
                $this->db->where('places.price_range', $price_array[$i]);
            } else {
                $this->db->or_where('places.price_range', $price_array[$i]);
            }
        }

    }

            ... some $this->db->where() ...
            ... some $this->db->where() ...
Run Code Online (Sandbox Code Playgroud)

问题来了,因为我正在使用$this->db->or_where()它引入了一个OR子句,它将运算符优先级抛到混乱状态而不能( …

php mysql activerecord codeigniter

17
推荐指数
6
解决办法
3万
查看次数

Codeigniter URL重定向,不添加index.php

我正在一个有几个控制器的站点上工作,并且已经将我的服务器配置为重定向请求,http://www.host.com/controller/function/params以便http://www.host.com/index.php/controller/function/params在apache配置中使用一些简单的正则表达式匹配.现在,我试图让我的一个控制器重定向到另一个,但没有添加index.php到URL,这是该redirect()功能的作用.在codeigniter中有一个简单的方法吗?先谢谢!

apache redirect codeigniter

17
推荐指数
1
解决办法
2万
查看次数

是否可以在另一个库文件中调用codeigniter库?

我想调用我写的另一个库里面的库中的函数.是否可以在codeigniter中执行此操作?如果是这样,任何人都可以解释如何做到这一点?

codeigniter

17
推荐指数
2
解决办法
2万
查看次数

仅接受来自localhost的get/post请求

因为我的Web应用程序需要加载的数据大小不小,所以它会变得非常缓慢,所以我决定添加一些jQuery ajax函数来根据请求加载某些数据然后将其保存在缓存中.

我想知道的是如何限制来自localhost /同一服务器/同一个ip的任何GET或POST请求,以便我可以避免从外部到我的应用程序的任何调用?

这意味着我的PHP函数返回数据,只有在从localhost请求时才返回数据.

我的Web应用程序在CodeIgniter的框架上运行,我的Web服务器的配置是在ubuntu上运行的LAMP.

有任何想法吗?

php ajax post codeigniter get

17
推荐指数
2
解决办法
2万
查看次数

CodeIgniter的Ne​​tbeans代码完成

我正在使用Netbeans IDE进行Php开发.它为我提供了Kohana框架的代码完成.有没有办法让Netbeans中的CodeIgniter完成代码?

codeigniter netbeans-7

17
推荐指数
1
解决办法
2万
查看次数

Codeigniter $ this-> input-> post()为空,而$ _POST正常工作

在codeigniter安装上,我试图使用内置$this->input->post('some_data')函数,但是$this->input->post()是一个空数组.

A print_r($_POST)完全正确地给出了所有变量?

根据codeigniter文档,输入类"由系统自动初始化,因此不需要手动执行",让我想知道我还有什么意思要做.

关于我应该如何努力使这个工作的任何想法?

谢谢!

php post codeigniter

17
推荐指数
4
解决办法
12万
查看次数

codeigniter包括视图中的公共文件

大家好我有一个在codeigniter开发的网站,我想存储到一个名为common.php的文件中,我在很多页面中使用了一些javascript/PHP函数.我试过这种模式:

require(base_url().'application/libraries/common.php'); //I have tried also include
Run Code Online (Sandbox Code Playgroud)

这回复了我这个错误:

A PHP Error was encountered

Severity: Warning

Message: require() [function.require]: http:// wrapper is disabled in the server configuration by allow_url_include=0
Run Code Online (Sandbox Code Playgroud)

我要去我的php.ini然后打开allow_url_include,重新启动apache,当我尝试加载页面时返回我现在这个错误:

A PHP Error was encountered

Severity: Warning

Message: require() [function.require]: http:// wrapper is disabled in the server configuration by allow_url_include=0

Filename: backend/hotel_view.php

Line Number: 6

A PHP Error was encountered

Severity: Warning

Message: require(http://demo.webanddesign.it/public/klikkahotel.com/application/libraries/common.php) [function.require]: failed to open stream: no suitable wrapper could be found

Filename: backend/hotel_view.php

Line Number: 6


Fatal …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

17
推荐指数
1
解决办法
7万
查看次数

Codeigniter"找不到请求的URL"错误

我下载项目我的服务器,然后我通常更改配置文件和数据库,最后我删除了主文件夹中的htaccess文件.现在我可以转到我的主页,但我无法访问我的网站中的其他链接,我收到此错误.

**Not Found
    The requested URL /utripes/auther/signup signup was not found on this server.**
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误.请快速帮助.比你.

php .htaccess codeigniter

17
推荐指数
1
解决办法
6万
查看次数

在codeigniter中未设置会话时,不允许访问控制器中的某些方法

我希望用户在未设置会话时不访问控制器的某些方法.为此,我可以在所有方法中检查会话,如果设置了会话,那么只需转到其他地方重定向到特定页面.由于我有很多方法,如果没有设置会话,我不希望用户访问.它的批量通过所有方法和检查会话.有没有任何快捷方式来获得此功能.

我试过检查会话是控制器的构造函数方法,但它适用于所有方法.但我只想要特定的方法来阻止会话未设置.怎么做.

例:

class dashboard extends CI_Controller {

 function __construct() {
    parent::__construct();
    $this->load->library('session');
    $this->load->model('dbmodel');
    $this->load->helper('url','form');


    //verified user check
    if($this->session->userdata("unverified") != FALSE) {
        redirect("verify_user");  

    }

    }
    //verified user check
}
Run Code Online (Sandbox Code Playgroud)

上面的代码,当用户转到仪表板控制器时,一旦找到"未验证"会话,就会重定向到verify_user控制器.但是我希望能够访问仪表板控制器的某些方法.不是所有方法.每当发现会话时此代码重定向,并且不允许访问仪表板控制器的任何方法.

php session codeigniter

17
推荐指数
1
解决办法
1478
查看次数

CodeIgniter事务 - trans_status和trans_complete返回true但未提交任何内容

问题:

我在我的模型中编写了一个函数,用于在我的数据库中插入一个订单.我正在使用事务来确保所有提交,否则它将被回滚.

我的问题是笨没有显示任何数据库错误,但它是回滚事务,但然后返回TRUE了trans_status.但是,只有在订单有折扣时才会发生这种情况.如果订单没有折扣,一切都会提交并正常工作.

我目前正在使用CodeIgniter 3.19,PHP(7.2),mySQL(5.7)和Apache 2.4.(在Ubuntu 18.04上工作)

功能逻辑的工作原理如下:

  • 将订单数组插入 tbl_orders
  • 保存order_id并浏览每个订单产品(附件order_id)并插入产品tbl_order_products,
  • 保存order_product_id并将其附加到一组用户出勤选项并插入其中tbl_order_attendance
  • 采用支付交易数组(附上order_id)并将其插入tbl_transactions
  • 如果订单有折扣,它会将discount_redeem_count(可兑换折扣代码的数量)减少1.

实际功能

[功能]:

public function add_order(Order $order, array $order_products, Transaction $transaction = NULL){
  $this->db->trans_start();

  $order->create_order_code();
  $order_array = $order->create_order_array();

  $this->db->insert('tbl_orders', $order_array);
  $order_id = $this->db->insert_id();
  $new_order = new Order($order_id);

  foreach($order_products as $key=>$value){
    $order_products[$key]->set_order($new_order);
    $order_product_array = $order_products[$key]->create_order_product_array();

    $this->db->insert('tbl_order_products', $order_product_array);
    $order_product_id = $this->db->insert_id();

    $product = $order_products[$key]->get_product();

    switch ($product->get_product_class()){
        case 'Iteration':
            $this->db->select('module_id, …
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter

17
推荐指数
1
解决办法
822
查看次数

标签 统计

codeigniter ×10

php ×7

mysql ×2

post ×2

.htaccess ×1

activerecord ×1

ajax ×1

apache ×1

get ×1

netbeans-7 ×1

redirect ×1

session ×1