好的,有点背景,
这是因为连接通常具有以下示例作为结果.但我想解析这个,而不必构建代码来忽略重复.这是一个3表连接样本.当我加入更多表时,重复值的问题会增加:
table1.authorid table1.authorname table2.books table3.favorited
1 john john's book 1 jean
1 john john's book 1 joe
1 john john's book 2 ken
1 john john's book 2 mark
2 mark mark's book 1 alice
2 mark mark's book 1 ted
2 mark mark's book 2 sarah
2 mark mark's book 2 denise
Run Code Online (Sandbox Code Playgroud)
在codeigniter(或普通PHP)中是否有一种方法可以获取此数组形式并将其转换为类似json(并像json一样解析)
$result = [
{
'authorid':1,
'authorname':'john',
'books':['john's book1','john's book2'],
'favorited':['jean','joe','ken','mark']
},
{
'authorid':2,
'authorname':'mark',
'books':['mark's book1','mark's book2'],
'favorited':['alice','ted','sarah','denise']
}
]
Run Code Online (Sandbox Code Playgroud)
更新 …
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<input type="text" name="something" />
<input type="submit" value="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
我发现没有"行动"和"方法"
<form action="/application/controler/somepage.php" method="POST">
</form>
Run Code Online (Sandbox Code Playgroud)
在按下提交按钮后,我想在文本框中输入值.我怎样才能像前者一样(通过POST或GET获取值)?
另外,如果我想获取URL中传递的值
http://localhost/index.php/something?value=75&today=Wed
即75和Wed,例如.
CodeIgniter内置了一个Unit Testing类,我非常想使用它.然而,几乎所有的功能,我想通过添加记录,删除记录,等我将如何,例如,写了"创建用户"功能测试,而每次实际创建用户测试与数据库交互运行测试?
在一些进一步的研究,看来我需要使用外部服务Mock对象如数据库等,我一直没能找到很多的文档关于如何做的方式,除了这一个论坛主题: HTTP: //codeigniter.com/forums/viewthread/106737
有没有实际的文件?
我想弄清楚会话如何在Codeigniter中工作.阅读在线手册,我看到以下内容:
如果会话数据不存在(或者它已过期),则会创建一个新会话并将其保存在cookie中.如果会话确实存在,则会更新其信息并更新cookie.每次更新时,都会重新生成session_id.
和
注意:默认情况下,会话cookie每五分钟更新一次,以减少处理器负载.如果您反复重新加载页面,您会注意到"上次活动"时间仅在自上次写入cookie后经过五分钟或更长时间后才会更新.可以通过更改system/config/config.php文件中的$ config ['sess_time_to_update']行来配置此时间.
问题:
任何澄清都会有所帮助!
我试图用CodeIgniter进行分页,根据Codeigniter的手册应该这么简单,即使在这个例子中也是这样的
«首先<1 2 3 4 5>最后»
$config['total_rows'] = $this->searchdesc_model->queryallrows();
$config['per_page'] = '10';
$config['uri_segment'] =4;
$config['full_tag_open'] = '<p>';
$config['full_tag_close'] = '</p>';
$config['cur_tag_open'] = '<b>';
$config['cur_tag_close'] = '</b>';
$config['first_link'] = 'First';
$config['last_link'] = 'Last';
$config['last_tag_open'] = '<p>';
$config['last_tag_close'] = '</p>'
$this->load->library('Company_Creation');
Run Code Online (Sandbox Code Playgroud)
在视图中我只称它为pagination-> create_links(); ?>(或者当我从控制器调用它时,我通过视图发送它,但我只能得到它
1 2 3>
并且没有办法使它看起来像exmaple,可能听起来如此虚拟但是,任何人都可以帮助我吗?或者有类似的问题?
谢谢
编辑1
$config['total_rows'] = $this->searchdesc_model->queryallrows();
$config['per_page'] = '5';
$config['uri_segment'] =4;
$config['full_tag_open'] = '<p>';
$config['full_tag_close'] = '</p>';
$config['cur_tag_open'] = '<b>';
$config['cur_tag_close'] = '</b>';
$config['first_link'] = ' First';
$config['last_link'] = ' Last';
$config['last_tag_open'] = '<p>';
$config['last_tag_close'] …Run Code Online (Sandbox Code Playgroud) 在Codeigniter实现PDO的使用之前,是否有办法将其破解为稳定且安全的 CI ?目前,而是采用了数据库驱动程序,我使用的,而不是一个模型,它有我所有的PDO这样的代码prepare,fetch,execute在这等.你们其他人在做什么?
我试图绕过这个,但我似乎是围成一圈.我正在尝试逐个列出用户主题,下面是属于该特定主题的引号.如果这是有道理的.
我有3个表,如下所示:
[USERS] user_id用户名
[TOPICS] topic_id user_id topic_name
[QUOTES] quote_id topic_id quote_name
我希望能够在我看来做这样的事情:
用户名:托马斯
主题1:无论如何
行情:一个引用,另一个引用和第三个引用,都属于主题1.
主题2:托马斯的另一个话题
行情:是的,好的,谢谢,我喜欢Stack Overflow,这些引用属于主题2.
但我不能让它工作,我一直在尝试一切,包括奇怪的东西,如:
public function get_quotes()
{
$this->db->select('*');
$this->db->from('topics');
$this->db->join('quotes', 'topic_id = quote_id');
$query = $this->db->get();
if($query->num_rows() > 0)
{
foreach ($query->result() as $row) {
$data[] = $row;
}
}
return $data;
}
Run Code Online (Sandbox Code Playgroud)
这有点奇怪吗,我应该尝试使用'where'代替吗?就像是:
$this->db->where('user', $user_id);
$this->db->where('topic', $topic_id);
$this->db->where('quote', $quote_id);
Run Code Online (Sandbox Code Playgroud)
我真的很感激我能得到的任何帮助,或只是一个手指指向正确的方向!
我不确定这是否真的是CodeIgniter问题或浏览器问题.这种情况发生在Chrome中,但不适用于Safari.但是,我认为它不应该在任何浏览器中发生.
如果你去包含的example.com/foo#
redirect('bar');
Run Code Online (Sandbox Code Playgroud)
你期望最终在example.com/bar.相反,您最终会访问example.com/bar#.我不明白为什么哈希不会消失.这没有道理.到底是怎么回事?
我想按日期将数据分组到我的博客表中.
我的数据库中有一个datetime字段,我将用它按月和年分组数据.(例如2012-01-23 17:25:18)
我已将以下代码添加到我的模型中,尝试按月和年分组数据(如存档)
function get_archive_links(){
$this->db->order_by('date','desc');
$this->db->group_by(Month('date'), Year('date'));
$query = $this->db->get('blog');
foreach ($query->result() as $row) {
$data[] = array(
'id' => $row->id,
'date' => $row->date
);
}
return $data;
}
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误: Fatal error: Call to undefined function Month()
希望结果如下:
我想从我的应用程序向用户发送一封电子邮件,其中包含从视图中加载的电子邮件的内容 .这是我到目前为止尝试过的代码:
$toemail = "user@email.id";
$subject = "Mail Subject is here";
$mesg = $this->load->view('template/email');
$this->load->library('email');
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->to($toemail);
$this->email->from($fromemail, "Title");
$this->email->subject($subject);
$this->email->message($mesg);
$mail = $this->email->send();
Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×7
activerecord ×1
cookies ×1
database ×1
date ×1
datetime ×1
group-by ×1
json ×1
mysql ×1
pagination ×1
pdo ×1
search ×1
session ×1
testing ×1
unit-testing ×1