如何使用PHP CodeIgniter框架的活动记录查询格式进行UNION查询?
我需要查看视图中可用的所有变量.我是一名前端开发人员,所以我主要在views目录中工作.我并不总是知道后端dev将哪些变量传递给模板.而不是每次问他一个简单的解决方案是什么类型的片段,我可以暂时粘贴到我正在处理的视图中,所以我可以看到所有可用的变量,甚至更好,如果我也可以看到他们的类型和值.
我试过这个:
<pre><?php var_dump(get_defined_vars()); ?></pre>
Run Code Online (Sandbox Code Playgroud)
但是由于我使用Codeigniter,它还显示了框架传递的所有其他吨和吨变量.
我只想显示从加载视图的控制器专门传递的变量.有没有办法做到这一点?
我知道这已被问了很多,我已经探讨了其他答案,但我仍然有疑问,所以希望这会对辩论产生新的见解.
一年前,我在CodeIngniter中从头开始构建了一个服务调度Web应用程序,具有以下功能:
所有相当标准的东西和codeIgniter都很棒.现在,一年后,我正在修改代码.客户需要一些不同的管理功能,例如用于页面的CMS以及添加新服务和更改计算价格点等.我需要添加新的类和代码以使其工作.
在过去的一年里,我深深地投入到Wordpress中,并意识到我可以使用自定义帖子类型,分类法,自定义字段以及通过自定义插件扩展自定义功能,在wordpress中构建整个应用程序.在许多方面,这似乎会更好.
使用Wordpress而不是php框架的优点:
使用框架的原因:
那么......哪个更好?我真的需要ORM或MVC来完成这个项目吗?如果我使用Wordpress,我觉得我的开发工作和客户端ux会更容易.
如果我切换到wordpress,我还会失去什么?
如何在框架中组合Wordpress,反之亦然?建议?
什么时候使用框架而不是wordpress是有意义的?
请看下面的代码:
$this->session->set_flashdata('message', 'This is a message.');
var_dump($this->session->flashdata('message'));
Run Code Online (Sandbox Code Playgroud)
它回来了bool(false).
我希望这不会NEED一个redirect()是后撤换,因为有些时候我需要在一个视图中设置flashdata后马上打电话.
在venkat的评论之后编辑
$this->session->set_flashdata('message', 'This is a message.');
$this->session->keep_flashdata('message');
var_dump($this->session->flashdata('message'));
Run Code Online (Sandbox Code Playgroud)
不幸的是没有区别.
我对MVC很新,最近我找到了CodeIgniter.我每天都在学习,但一个问题是它的模板引擎.在CodeIgniter中创建模板的最佳方法是什么?
CakePHP带有自己的模板库,CodeIgniter中是否有类似的功能?
我在互联网上研究过,但找不到任何东西......
我有一个mysql数据库,并在一个表中记录,我需要在每个页面加载时从该表中获取随机记录.我怎样才能做到这一点?那有什么功能吗?
欣赏!谢谢
SORTED:链接:http://www.derekallard.com/blog/post/ordering-database-results-by-random-in-codeigniter/
$this->db->select('name');
$query = $this->db->get('table');
$shuffled_query = $query->result_array();
shuffle ($shuffled_query);
foreach ($shuffled_query as $row) {
echo $row['name'] . '<br />';
}
Run Code Online (Sandbox Code Playgroud) 我有一个简单的C(CRUD)函数,我想从我写的"插入"函数中发送一条消息(错误或成功)以及我的重定向.有没有办法使用重定向来粘贴POST字段?
在伪代码我有:
function view_all{
//set up some initial variables
$this->load->view(viewing_page, $data)
}
function insert{
if ($this->db->insert(my_table, $_POST)){
$message = "All's well";
}
else {
$message = "whoops!";
}
redirect(view_all);
}
Run Code Online (Sandbox Code Playgroud)
所以view_page理想上会有类似的东西
if (isset($message)){
echo $message
}
Run Code Online (Sandbox Code Playgroud)
所以在第一次通过时,我没有看到任何消息,并且当/如果有插入时,它会弹出与消息相同的页面.谢谢!
我想知道是否有人可以告诉我从视图中链接到另一个页面的正确方法.
有这个功能还是只是通常的
干杯,
我已经通过创建一个放在application/core目录中的MY_Controller.php成功扩展了CI_Controller类.
core/My_Controller.php看起来像这样:
class MY_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,当我创建普通控制器时,它们看起来像这样:
class Home extends MY_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('home');
}
}
Run Code Online (Sandbox Code Playgroud)
我正在创建一个管理员后端,我希望为控制器提供一个不同的基类而不是My_Controller.这是我可以有管理员控制器的常用方法(即authentication_check等)
我无法解决的是如何创建另一个扩展CI_Controller的控制器.
目标是管理员控制器扩展与前端控制器不同的基类.
管理基础控制器看起来像这样:
class MY_Admin_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
管理页面的普通控制器:
class Admin_home extends MY_Admin_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('admin_home');
}
}
Run Code Online (Sandbox Code Playgroud)
问题是要扩展CI_Controller类,必须将控制器文件命名为PREFIX_Controller.php并将其放在core /目录中.但我想要两个控制器类,它们不能具有相同的文件名.
如何创建CI批量插入数组
$data = array(
array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
),
array(
'title' => 'Another title' ,
'name' => 'Another Name' ,
'date' => 'Another date'
)
);
Run Code Online (Sandbox Code Playgroud)
来自我的正常数组
Array
(
[0] => Array
(
[track_id] =>
[camp_id] => 1
[field_name] => email_title
[field_value] => sample
)
[1] => Array
(
[track_id] =>
[camp_id] => 1
[field_name] => email_date
[field_value] => 2013-07-02
)
[2] => Array
(
[track_id] =>
[camp_id] => …Run Code Online (Sandbox Code Playgroud)