如果posts表是empy cakephp,则返回元素

如果posts表是empy cakephp,则返回元素,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,基本上,如果posts表是空的,我试图用一些基本的html来回应一个元素,说“当前没有posts” echo "<pre>11111";print_r($posts);echo "</pre>"; if(!empty($posts['Post']['title'])) { echo $this->element('postslist'); } else { ec

基本上,如果posts表是空的,我试图用一些基本的html来回应一个元素,说“当前没有posts”

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
数据库结构是ID、用户ID、标题、正文、已创建、已修改

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
在职位索引中,代码如下:

   if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
我遇到的问题是,无论表中是否有数据,都会回显“noposts”元素。。很明显我做错了什么

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
感谢您的任何帮助

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
编辑:

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
在尝试之前

debug(var_dump($posts['Post']['title']));
echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }

看看它是否真的设置好了。无论如何,我都不会将元素用于如此琐碎的行。

我假设您忘记了foreach循环(假设$posts包含多个posts)

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }

在放弃并在stackoverflow发布之前,首先调试变量/数组始终是明智的。在99%的情况下,这会在几秒钟内解决问题。

尝试下面给出的代码:

echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }
echo“11111”;印刷(员额);回声“;
如果(!empty($posts['Post']['title'])){
echo$this->element('postslist');
}否则{
echo$this->element('noposts');
}

刷新页面后,请发布输出。

是否可以尝试直接使用$\u post['title'],是否有效???是否可以发布$post数组的内容?echo pr($posts)由于可能存在安全问题,您不直接使用$\u POST。事实上,标题应该用CakePHP快捷方式h()来转义;幸运的是,我没有忘记foreach循环——不过还是要谢谢你!一旦我对PhP/cake有点习惯,我就不会问那么多问题了;-)调试(var_dump($posts['Post']['title']);返回未定义的索引:Post。但是,调试(var_dump($posts[0]['Post']['title']);返回一个字符串。仍然无法按预期工作-因此,如果不使用元素,您会提出什么建议?
echo "<pre>11111";print_r($posts);echo "</pre>";

if(!empty($posts['Post']['title'])) {
                    echo $this->element('postslist');
            } else {
                    echo $this->element('noposts');
            }