我试图从数据库填充下拉列表.在我的视图文件中,我有以下代码
$batch= $query ['batch']; // I pull this data from a separate model
echo form_dropdown('shirts', $options, $batch);
Run Code Online (Sandbox Code Playgroud)
现在下拉列表正在填充数据,但问题是我没有得到值 - 页面加载时自动选择"$ batch".有趣的是,如果我回显$ batch,页面中的其他地方显示正确的数据,这意味着$ batch是可以的.
这是我的控制器
function update($id){
$this->load->model('mod_studentprofile');
$data['query']= $this->mod_studentprofile->student_get($id);
$data['options']= $this->mod_studentprofile->batchget();
$data['tab'] = "Update Student Information";
$data['main_content']='update_studentprofile';
$this->load->view('includes/template',$data);
}
Run Code Online (Sandbox Code Playgroud)
这是我的模特
function batchget() {
$this->db->select('batchname');
$records=$this->db->get('batch');
$data=array();
foreach ($records->result() as $row)
{
$data[$row->batchname] = $row->batchname;
}
return ($data);
}
Run Code Online (Sandbox Code Playgroud)
请你帮我解决这个问题.我希望在页面加载时在下拉列表中自动选择值"$ batch".
提前致谢.
编辑...我的模型为student_get($ id)
function student_get($id)
{
$query=$this->db->get_where('student',array('studentid'=>$id));
return $query->row_array();
}
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
我正在将CodeIgniter用于Web应用程序,现在我有一个紧急的问题:我刚刚发现在基于Linux的服务器中,URL是区分大小写的,我刚刚将一个站点从Windows迁移到了Linux.这意味着现在所有小写网址都不再适用于网站的链接.
谷歌搜索我发现你应该能够在.htaccess文件中做这样的事情:
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但我试过了,它一点都不好......!突然间,我得到了一个很大的丑陋的错误页面,盯着我,说Tomcat服务器或类似的东西一定有问题.不用说我立即删除了这些行!
但是为什么它不起作用,我该怎么做呢?
任何帮助将不胜感激.
我已经正确安装了Ion Auth并在我的服务器上运行.我也有默认的CodeIgniter 2 "新闻"教程在同一个CI安装中工作.我只是在玩耍并且对使用身份验证系统"封闭"或保护整个应用程序的正确方法感到好奇.
对于这个问题,让我们使用CI附带的"新闻"教程.
index()在我的news.php控制器中的函数内部,我添加了条件代码来检查用户是否已登录.如果没有,则用户刚刚进入登录屏幕.
public function index() {
$data['news'] = $this->news_model->get_news();
$data['title'] = 'News archive';
if ($this->ion_auth->logged_in()) {
$this->load->view('templates/header', $data);
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
} else {
redirect('auth/login', 'refresh');
}
}
Run Code Online (Sandbox Code Playgroud)
我可以看到它的工作原理,但直接的缺点是控制器中的每个函数也必须使用类似的条件逻辑进行修改,以保护所有其他页面视图.例如 - 检查登录,显示页面,否则转到登录页面......一遍又一遍.
这是应该做的吗?
如果一个应用程序已经构建并正在运行并且只是想保护它们怎么办?添加条件逻辑以检查控制器内每个页面视图的登录状态似乎不必要地冗长.
可以在一个地方保护整个应用程序(所有视图)以最小化代码修改吗?如果是这样,怎么样?
当我试着打电话的时候
$this->load->database();
Run Code Online (Sandbox Code Playgroud)
产生以下错误:"在非对象上调用成员函数数据库()"
自动加载数据库也没有帮助...
当我尝试自动加载它时.
所有对数据库的调用都像
$this->db->get('people');
Run Code Online (Sandbox Code Playgroud)
它说get方法是未定义的...
我不知道什么和从哪里开始..
\任何人?
我有一个基于CodeIgniter框架的整个网站项目。我的问题是我不知道如何在本地Mamp Server上运行此项目。我已经成功设置了Mamp,并且还运行了最新版本的CodeIgniter。
但是现在我该如何使用在本地主机文件夹中找到的CodeIgniter运行整个项目。这是我第一次使用CMS框架。
我在Codeigniter模型中使用复杂的SQL查询并应用了限制.如果没有应用限制和偏移量,我想计算已经找到的总行数.
我想将计数和结果数组一起返回给我的控制器 - 我该怎么做?如果这是正确的解决方案,我在哪里放SQL_CALC_FOUND_ROWS?
这是查询(我最初没有自己构建):
$this->db
->select('table1.*
,table2.*
,table3.*
,table4.*
,table5.*
,table6.*
,table7.*
,table8.*
,table9.*
,(SELECT GROUP_CONCAT(field1) FROM table10 WHERE table10.field3 = table9.field2) as categories
,(SELECT GROUP_CONCAT(field1) FROM table5 WHERE table5.field11 = table4.field12 AND table4.field21 = 0 AND table5.field1 != 0) as categories2
,(SELECT AVG(table11.field4) FROM table11 WHERE table11.field6 = table9.field2) as rating
,(SELECT COUNT(table12.field5) FROM table12 WHERE table12.field7 = table9.field2) as rated_times')
->from('table9')
->join('table10', 'table10.field3 = table9.field2')
->join('categories', 'categories.field1 = table10.field1')
->join('table3', 'table3.field8 = table9.field2')
->join('table1', 'table1.id = table9.field2') …Run Code Online (Sandbox Code Playgroud) 我正在使用CIBonfire创建我的第一个应用程序,我已准备好将其推向生产,但我不确定如何将模式从开发更改为生产,以便它不会在页脚中显示探查器内容.
我无法在任何设置菜单或文档中找到它.任何帮助表示赞赏.
我有CodeIgniter脚本用于发送带附件的电子邮件.
$this->ci->email->attach("/path/to/file/myjhxvbXhjdSycv1y.pdf");
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我不知道,如何将附加文件重命名为一些用户友好的字符串?
谁能告诉我,问题出在哪里?
这是我的控制器
class Support extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('support_model');
$urlarray = array("index","delete");
if(!in_array($this->uri->segment(2),$urlarray)){
$this->viewticket($this->uri->segment(2));
}
}
public function viewticket($id){
if(!empty($id)){
$this->load->view('templates/logged_header');
$this->load->view('support/view');
$this->load->view('templates/footer');
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的routes.php
$route['default_controller'] = "welcome";
$route['benefits'] = 'welcome/benefits';
$route['faqs'] = 'welcome/faqs';
$route['distributors'] = 'welcome/distributors';
$route['contact'] = 'welcome/contact';
$route['purchase'] = 'welcome/purchase';
//login routes
$route['login'] = 'login/index';
$route['logout'] = 'login/logout';
$route['404_override'] = '';
Run Code Online (Sandbox Code Playgroud)
localhost/ciproj/support/hello-world给我404 Page Not Found错误
如果我使用exit;后$this->load->view('templates/footer');,页面显示空白页面.
我在支持相关的路线中没有任何东西,而且其他方法都有效吗?我在路线中缺少什么?
谢谢您的帮助.
我使用Codelginiter PHP MVC框架来开发一个Web应用程序,我试图使用form_open()而不是<form></form>,我想要做的是添加class="navbar-form navbar-left" role="search"它,似乎它不起作用.
这是制作表单的代码
<?php
echo
form_open('social_controller/search_me');
?>
Run Code Online (Sandbox Code Playgroud) codeigniter-2 ×10
codeigniter ×8
php ×7
bonfire ×1
email ×1
frameworks ×1
ion-auth ×1
limit ×1
mod-rewrite ×1
mysql ×1
url ×1