标签: codeigniter

codeigniter like子句覆盖where子句

至少这似乎正在发生.我正在尝试为网站创建一个搜索栏,它确实有效,除非它没有读取只会撤回已批准内容的where子句.你可以看出为什么会出现这个问题.

无论如何,这就是我在我的模型中所拥有的

$match = $this->input->post('search');      
$this->db->where('approved', 'y');  
$this->db->like('description', $match);
$this->db->or_like('title', $match);
$this->db->or_like('body', $match);
$this->db->or_like('author', $match);

$query = $this->db->get('story_tbl');

return $query->result();
Run Code Online (Sandbox Code Playgroud)

当我打印出查询时,似乎它看到了where子句,但是当我把这些东西拿回来时,它会拉出未经批准或未经审查的内容.

这是我打印的查询

SELECT * FROM (`story_tbl`) WHERE `approved` = 'y' AND `description` LIKE 
'%another%' OR `title` LIKE '%another%' OR `body` LIKE '%another%' OR 
`author` LIKE '%another%'
Run Code Online (Sandbox Code Playgroud)

sql codeigniter where-clause

5
推荐指数
1
解决办法
5500
查看次数

callback_column不适用于杂货店中的连接表

我正在尝试使用callback_column函数更改列值.

$crud = new grocery_CRUD();
$crud -> set_table('booking');
//$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup')); 
Run Code Online (Sandbox Code Playgroud)

此代码运行良好(_visitor_details_popup函数返回值room_id)

$crud = new grocery_CRUD();
$crud -> set_table('booking');
$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup'));
Run Code Online (Sandbox Code Playgroud)

这段代码效果不好(room_id不改变)

public function _visitor_details_popup($value, $row)
{

    $visitor_details=explode(',',$value);
    return '<a href="#">Name'.$visitor_details[1].'<a>'.'<div class="popup_content">Address'.$visitor_details[2].'Email'.$visitor_details[3].'</div>;
}
Run Code Online (Sandbox Code Playgroud)

这是杂货店的臭虫?任何棘手的解决方法?

codeigniter grocery-crud

5
推荐指数
1
解决办法
2354
查看次数

在codeigniter中显示阿拉伯语单词

我在我的视图页面中使用了Codeignter

方法1:views/show.php

echo @html_entity_decode("?", ENT_COMPAT | ENT_HTML401, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

Html输出

?
Run Code Online (Sandbox Code Playgroud)

这很好用.

但.

方法2:在config/constants.php中,我为阿拉伯语单词定义了常量值,如下所示:

define('ARABIC_WORD', '?');
Run Code Online (Sandbox Code Playgroud)

在我的视图页面中,views/show.php

echo @html_entity_decode(ARABIC_WORD, ENT_COMPAT | ENT_HTML401, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

Html输出:

?
Run Code Online (Sandbox Code Playgroud)

我需要为第二个选项(方法2)工作,以便我可以定义值.请有人在这帮助我,让我知道我犯了什么错误,如果有任何新的建议.

php codeigniter

5
推荐指数
1
解决办法
1132
查看次数

使用Codeigniter,如何通过jquery submit()提交表单?

所以我使用php构建了一个向导,其中一个表单要求用户上传图像.

我已经构建了所有内容,唯一的问题是我必须能够在我的一个if语句中说,如果表单是使用jquery的submit()方法提交的.

所以这是在用户选择图像后在jquery中提交表单的代码.

var initUpload = function(){
    $('.filebutton').change(function(e){
        $("form").submit();
    });
};
Run Code Online (Sandbox Code Playgroud)

这就是我的if语句的样子.

if($this->input->post('back')){

   //Tells me that the user clicked on the back button, and to go back 1 step in the wizard.    

}else if(???){

   //This is where I would like to say: if form was submitted with jquery.      

}else{

   //Else the user just clicked "next" and to continue normally.

}
Run Code Online (Sandbox Code Playgroud)

我所知道的:

使用$this->input->post('back')我可以使用带有valueBACK 的按钮检查表单是否已提交.我var_dumped $this->input->post()只是返回输入字段的值.

php jquery codeigniter

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

Codeigniter:加入'where in'子句

我想加入表格列出两类小说和浪漫的书籍.如何使用WHERE IN子句进行JOIN(甚至可能?抱歉,noob在这里)

这是我被困在的地方:

$categories = array(10,12);
$query = select()->from('books');
$query->join('genre_map','genre_map.gid IN ('.implode(",", $categories).')');
Run Code Online (Sandbox Code Playgroud)

Jn Table genre_map:bookid,genre_id

任何SQL Query/CodeIgniter帮助都将非常感激.

codeigniter codeigniter-2

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

如何使用代码点火器从mysql中获取单个结果?

遇到Codeigniter问题.我试图从mysql中获取产品的价值.mysql表包含一个名为的字段cost_price.我正在尝试使用产品ID获取单个产品的结果.这是我正在使用的代码,

$query = $this->db->query('SELECT * FROM items WHERE id="$id"');
$row = $query->result();
echo $row['cost_price']; 
Run Code Online (Sandbox Code Playgroud)

但什么都没发生!我的代码有什么问题?

我尝试了一些错误的代码来检查数据库是否响应,但似乎数据库工作正常.无法理解为什么我的查询找不到任何结果!

php mysql codeigniter

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

codeigniter 302发现错误

我已经尝试了一切,我接近放弃了.请帮忙.

我一直试图摆脱codeigniter中的index.php并完成了谷歌提供的每个代码以放入.htaccess.

目前,我有这个.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)

这确实有效,但每次我提交表格时,我都会收到这个令人抓狂的错误的302错误.

302错误

我控制器中的一个提交功能......其他形式的其他功能基本相同.我已经尝试了刷新和重定向的定位方法,既没有改变任何东西.我不相信这是问题所在.

public function submitStory(){
  if (empty($this->user)) {
    redirect('/home/');
  }else{
    $this->story_model->writeStory();
     redirect('story/newChapterView/');
  }
Run Code Online (Sandbox Code Playgroud)

}

我的模型只是插入数据库

public function writeStory(){
  $this->title = strip_tags($this->input->post('wTitle'));  
  $this->date = time();
  $this->author = strip_tags($this->input->post('wAuthor'));    
  $this->type = strip_tags($this->input->post('wType'));    
  $this->db->insert('story_tbl', $this);
}
Run Code Online (Sandbox Code Playgroud)

我的一个表单,它们几乎只是一个标准的codeigniter表单

<?=form_open('story/submitStory', array('id' => 'newStory'));?>
    <p class="textBox"><label>Story Title: </label><input id="storyTitle" type="text" name="wTitle" autocomplete="off"  /></p>
    <p><label>Complete:</label><select class="drop" …
Run Code Online (Sandbox Code Playgroud)

php codeigniter http-status-code-302

5
推荐指数
1
解决办法
4938
查看次数

如何通过CodeIgniter成功发送联系表单中的电子邮件?

我已经设置了我的控制器和我的联系表单.但是当我点击我的联系页面上的"提交"时,我没有收到任何错误,但是我没有收到任何电子邮件.任何人都可以帮我弄清楚为什么我实际上没有收到电子邮件?我感谢任何帮助.这是我的控制器代码:

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

class Home extends CI_Controller {
    public function index()
    {
        $this->template->build('home');
    }

    public function email() {
        $name = $this->input->post('name');
        $email = $this->input->post('email');
        $phone_number = $this->input->post('phone_number');
        $message = $this->input->post('message');
        $this->load->library('email');
        $this->email->from($email, 'Your Name');
        $this->email->to('anish@develop.io');
        $this->email->cc('another@another-example.com');
        $this->email->bcc('them@their-example.com');
        $this->email->subject('Email Test');
        $this->email->message(
          'My name is'.$name.', Im testing this email class. My email is '.$email. '. My Phone number is '.$phone_number.
         ' This is my message '.$message. ' Thanks!!'
         );
        $this->email->send();
        echo $this->email->print_debugger();
        $this->template->build('home');
    } …
Run Code Online (Sandbox Code Playgroud)

php email codeigniter contact-form

5
推荐指数
1
解决办法
8338
查看次数

CodeIgniter不在localhost上工作

我从ftp下载了一个网站.该网站由CodeIgniter制作.我的问题是它似乎不适用于localhost.

config.php中的基本URL:

$config['base_url'] = 'http://sample_localhost/mysite/';
Run Code Online (Sandbox Code Playgroud)

database.php中的设置:

$db['default']['hostname'] = 'sample_localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'admin';
$db['default']['database'] = 'my_database';
Run Code Online (Sandbox Code Playgroud)

很感谢任何形式的帮助.提前致谢!

php codeigniter

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

从codeigniter中的列中仅选择唯一值

我有一张这样的桌子

name|subjects|location
......................     
BUET|CSE|Dhaka
BUET|EEE|Dhaka
RUET|CE |Rajshahi
RU  |CE |Rajshahi
Run Code Online (Sandbox Code Playgroud)

这里所有的行都是不同的.如果我使用的话

 $this->db->select('*') and $this->db->distinct() 
Run Code Online (Sandbox Code Playgroud)

它会选择BUET的所有行,但我只想这样

name|subjects|location
......................     
BUET|CSE|Dhaka
RUET|CE |Rajshahi
RU  |CE |Rajshahi
Run Code Online (Sandbox Code Playgroud)

这意味着只有第一列必须是不同的并且像往常一样选择所有列.如果我使用$ this-> db-> select('name')和,它将起作用$this->db->distinct().那么其他列会是什么?

因为我的原始表有很多列,所以我想使用$this->db->select('*').我认为 $this->db->distinct()不会将任何列作为参数.它根据选择来区分结果.我怎样才能做到这一点?

php mysql codeigniter

5
推荐指数
1
解决办法
3万
查看次数