标签: codeigniter

使用CodeIgniter框架解析JSON数据

我是codeigniter的新开发人员,我想解析这个框架中的JSON数据,请给我一些教程或示例.

我已经使用Andorid完成了JSON解析...请帮助我完成PHP框架.

提前致谢...

php json codeigniter

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

CodeIgniter检查查询是否成功

我在网上搜索,他们中的大多数建议使用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)

我该如何检查此查询是否成功.

php codeigniter

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

codeigniter单个结果没有foreach循环

我使用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)

提前致谢.

php mysql foreach codeigniter

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

为什么我不能在codeigniter连接查询中使用括号

嗨,我正在使用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无法做到这一点,请帮助...

这是错误

在此输入图像描述

php mysql activerecord codeigniter

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

以codeigniter样式编写联合查询

如何以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)

codeigniter

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

如何从url中删除index.php

当我鼠标悬停或点击锚链接然后显示

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)

url codeigniter

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

Codeigniter从视图中将id传递给控制器

我在这个项目中使用codeigniter.我有一个id值,我从控制器A传递到视图A.这个id值是一个锚标签之间的回声.当单击此锚标记时,它会重定向到具有id值的另一个控制器B并在控制器B中处理此id值.除了使用uri类之外,还有其他方法吗?想要保持网址清洁.

当我从控制器A转换到视图A到控制器B时,我想到了一种附加隐藏输入元素的方法,但我意识到它可能非常混乱.

这样做有什么干净的方法吗?先谢谢你们!

codeigniter

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

codeigniter复选框值

大家好我刚开始使用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)

php checkbox codeigniter

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

在codeigniter控制器中尝试使用doctrine模型时,Doctrine2:ReflectionException',消息'Class Comment在......中不存在'

我在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)

php doctrine codeigniter autoload doctrine-orm

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

将MYSQL转换为Codeigniter

我正在尝试将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语句的正确方法的任何想法?谢谢你的时间.

mysql database select codeigniter

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