我是codeigniter的新开发人员,我想解析这个框架中的JSON数据,请给我一些教程或示例.
我已经使用Andorid完成了JSON解析...请帮助我完成PHP框架.
提前致谢...
我在网上搜索,他们中的大多数建议使用num_rows或类似的功能来检查查询是否在CodeIgniter中成功,但我使用的是update函数
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
// Produces:
// UPDATE mytable
// SET title = '{$title}', name = '{$name}', date = '{$date}'
// WHERE id = $id
Run Code Online (Sandbox Code Playgroud)
我该如何检查此查询是否成功.
我使用codeigniter从db获取单个结果,如下所示:
$user = $this->db->query("SELECT * FROM users LIMIT 1");
Run Code Online (Sandbox Code Playgroud)
然后我得到返回的对象并通过它循环,这样:
foreach ($user->result() as $row) { ... }
Run Code Online (Sandbox Code Playgroud)
可以想象,使用循环没有意义,因为只有一个结果.有没有办法在不循环的情况下获取用户参数?这一行之间的东西:
echo $user['name'];
Run Code Online (Sandbox Code Playgroud)
提前致谢.
嗨,我正在使用codeigniter加入
$this->db->join
Run Code Online (Sandbox Code Playgroud)
我用了
$this->db->join ( $table2 . " as c","( c.3rdPartyID=a.ShopID OR c.3rdPartyID=a.ParentID OR c.ShopID=a.ShopID OR c.ShopID=a.ParentID ) AND c.3rdPartyID !=0 ", 'left' );
Run Code Online (Sandbox Code Playgroud)
我也尝试过
$join_query = "( c.3rdPartyID=a.ShopID OR c.3rdPartyID=a.ParentID OR c.ShopID=a.ShopID OR c.ShopID=a.ParentID ) AND c.3rdPartyID !=0 ";
$this->db->join ( $table2 . " as c",$join_query, 'left' );
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误.
但是如果没有括号,它就可以了
$this->db->join ( $table2 . " as c"," c.3rdPartyID=a.ShopID OR c.3rdPartyID=a.ParentID OR c.ShopID=a.ShopID OR c.ShopID=a.ParentID AND c.3rdPartyID !=0 ", 'left' );
Run Code Online (Sandbox Code Playgroud)
但在我的情况下,我需要括号,我应该去正常的mysql查询,codeignier无法做到这一点,请帮助...
这是错误

如何以Codeigniter样式编写以下查询.
SELECT COUNT(`id`) AS reccount
FROM
(SELECT `id` FROM table1
WHERE tid= '101' AND `status` = 1
UNION ALL
SELECT `id` FROM table2
WHERE tid= '101' AND `status` = 1
UNION ALL
SELECT `id` FROM table3
WHERE tid= '101' AND `status` = 1) t
Run Code Online (Sandbox Code Playgroud)
我用以下方法执行它.
这是唯一正确的方法还是你有任何改进建议?
$q = $this->db->query(SELECT COUNT(`id`) AS reccount
FROM
(SELECT `id` FROM table1
WHERE tid= '101' AND `status` = 1
UNION ALL
SELECT `id` FROM table2
WHERE tid= '101' AND `status` = 1
UNION ALL
SELECT …Run Code Online (Sandbox Code Playgroud) 当我鼠标悬停或点击锚链接然后显示
http://localhost/code-testing/index.php/about-us.
Run Code Online (Sandbox Code Playgroud)
我也尝试了base_url()和site_url(),但结果是相同的.我可以从url中删除'index.php'吗?
-谢谢.
解决:
谢谢大家的回答.我正在使用xampp,这个适合我
代码测试/应用/配置/ config.php中
$config['base_url']= 'http://localhost/code-testing/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
Run Code Online (Sandbox Code Playgroud)
代码测试/ htaccess的
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Run Code Online (Sandbox Code Playgroud)
然后以下链接工作,而不在URL中显示"index.php"
<li><a href="<?php echo base_url('home');?>">HOME</a></li>
<li><a href="<?php echo base_url('about_us');?>">About Us</a></li>
<li><a href="<?php echo base_url('contact');?>">Contact Us</a></li>
Run Code Online (Sandbox Code Playgroud) 我在这个项目中使用codeigniter.我有一个id值,我从控制器A传递到视图A.这个id值是一个锚标签之间的回声.当单击此锚标记时,它会重定向到具有id值的另一个控制器B并在控制器B中处理此id值.除了使用uri类之外,还有其他方法吗?想要保持网址清洁.
当我从控制器A转换到视图A到控制器B时,我想到了一种附加隐藏输入元素的方法,但我意识到它可能非常混乱.
这样做有什么干净的方法吗?先谢谢你们!
大家好我刚开始使用codeigniter和php.我正在制作一个简单的调查类型网站惠特复选框,问题将是多项选择,如果选中复选框,结果将存储在数据库中.我的问题是我将如何做到这一点.我的表格和感谢每个人提前帮助.
视图
<?php foreach($survay_data as $survay):?>
<ul>
<li><h1><?php echo $survay->Question;?></h1></li>
<li><?php echo $survay->qA; ?><input type="checkbox" name="q1[]" value="qA"></li>
<li><?php echo $survay->qB; ?><input type="checkbox" name="q2[]" value="qB"></li>
<li><?php echo $survay->qC; ?><input type="checkbox" name="q3[]" value="qC"></li>
<?php endforeach; ?>
<input type="textarea" value='a' name="comment">
<br>
<input type="submit" value="Submit">
</ul>
Run Code Online (Sandbox Code Playgroud)
调节器
<?php
class Survay extends CI_Model{
function dosurvay($arrData){
$this->db->select('QID, Question, qA, qB, qC');
$this->db->from('tblquestions');
$this->db->where('Question', $arrData['Question']);
$this->db->where('qA', $arrData['qA']);
$this->db->where('qB', $arrData['qB']);
$this->db->where('qC', $arrData['qC']);
$this -> db -> limit(1);
$query = $this -> db -> get();
if($query -> num_rows() …Run Code Online (Sandbox Code Playgroud) 我在CodeIgniter控制器中尝试使用Doctrine模型时得到了"Message:class_parents():Class Comment不存在且无法加载".
这是完整的堆栈跟踪致命错误:C:\ Users\user\Desktop\projects\interview\application\libraries\Doctrine\Common\Persistence\Mapping\RuntimeReflectionService.php中未捕获的异常'ReflectionException',消息'类注释不存在' :73堆栈跟踪:#0 C:\ Users\user\Desktop\projects\interview\application\libraries\Doctrine\Common\Persistence\Mapping\RuntimeReflectionService.php(73):ReflectionClass - > __ construct('Comment')#1 C:\ Users\user\Desktop\projects\interview\application\libraries\Doctrine\ORM\Mapping\ClassMetadataInfo.php(769):Doctrine\Common\Persistence\Mapping\RuntimeReflectionService-> getClass('Comment')#2 C :\ Users\user\Desktop\projects\interview\application\libraries\Doctrine\ORM\Mapping\ClassMetadataFactory.php(591):Doctrine\ORM\Mapping\ClassMetadataInfo-> initializeReflection(Object(Doctrine\Common\Persistence\Mapping \) RuntimeReflectionService))#3 C:\ Users\user\Desktop\projects\interview\application\libraries\Doctrine\ORM\Mapping\ClassMetadataFactory.p hp(272):Doctrine\ORM\Mapping\ClassMetadataFactory-> initializ位于第73行的C:\ Users\user\Desktop\projects\interview\application\libraries\Doctrine\Common\Persistence\Mapping\RuntimeReflectionService.php
这是我在/application/models/Entities/Comment.php中的模型
<?php
namespace Entities;
use Doctrine\ORM\Mapping as ORM;
/**
* Entities\Comment
*/
class Comment
{
/**
* @var integer $id
*/
private $id;
/**
* @var integer $parentid
*/
private $parentid;
/**
* @var integer $isactive
*/
private $isactive;
/**
* @var integer $isremoved
*/
private $isremoved;
/**
* @var datetime $removaldate
*/
private $removaldate; …Run Code Online (Sandbox Code Playgroud) 我正在尝试将MYSQL查询转换为codeigniter,并且没有真正快速.我正在尝试转换此查询
$conn->prepare("SELECT `id`,`song`,`artist`,`album`,`track`,`mix_name`,`date` FROM `podcasts` where mix_number = (SELECT MAX(mix_number) FROM podcasts) order by track asc");
Run Code Online (Sandbox Code Playgroud)
这是在我的模型中:
//$where = '(SELECT MAX(mix_number)from podcasts)';
$this->db->select('id,song,artist,album,track,mix_name,date, link');
//$this->db->where('mix_number', '(SELECT MAX(mix_number)from podcasts)');
$this->db->order_by('track', 'asc');
$query = $this->db->get('podcasts');
return $query->result();
Run Code Online (Sandbox Code Playgroud)
我的问题区域在where语句中.当我注释掉where语句时,我得到了数据.显然不是我想要的方式.
我这样做是因为我的下一个查询将是
("SELECT `id`,`song`,`artist`,`album`,`track`,`mix_name`,`date` FROM `podcasts` where mix_number = **(SELECT MAX(mix_number) FROM podcasts) - 1** order by track asc")
Run Code Online (Sandbox Code Playgroud)
并且直到(SELECT MAX(mix_number)FROM播客) - 3
关于写where语句的正确方法的任何想法?谢谢你的时间.
codeigniter ×10
php ×6
mysql ×3
activerecord ×1
autoload ×1
checkbox ×1
database ×1
doctrine ×1
doctrine-orm ×1
foreach ×1
json ×1
select ×1
url ×1