2012-03-14 4 views
0

基本的に、投稿テーブルが空の場合、基本的なhtmlで「現在投稿はありません」という要素をエコーし​​ようとしています。投稿テーブルがempyの場合のエコー要素cakephp

DB構造はID、USER_ID、TITLE、BODY、CREATED、MODIFIEDです。ポストインデックスで

コードは次のとおりです。

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

私が午前問題は、私が明らかに...そこにデータがテーブルにあるかどう「noposts」の要素が関係なく、エコーされていることです何か間違っている。

ご協力いただきありがとうございます。

編集:前

Array 
(
    [0] => Array 
     (
      [Post] => Array 
       (
        [id] => 1 
        [user_id] => 0 
        [title] => debugging away 
        [body] => 
Laaaadeee daaaaa 


        [created] => 2012-03-27 17:05:36 
        [modified] => 2012-03-27 17:05:36 
       ) 

     ) 

) 
+0

$ _POST ['title']で直接お試しいただけますか? –

+1

$ post配列の内容を投稿できますか? echo pr($ posts) – RichardAtHome

+0

セキュリティ上の問題のため、$ _POSTを直接使用することはありません。実際にはタイトルはCakePHPのショートカットh()でラップすることでエスケープされます。 – burzum

答えて

1

それが本当に設定されているかどうかを確認し

debug(var_dump($posts['Post']['title'])); 

をしようとした場合。とにかくこのような些細な行には要素を使用しません。

+0

デバッグ(var_dump($ posts ['Post'] ['title']));未定義のインデックス:Postを返します。しかし、デバッグ(var_dump($ posts [0] ['Post'] ['title']));文字列を返します。まだ望みどおりに働いていないので、要素を使用しない場合は何をお勧めしますか? – Plastika

0

私はそれは常に賢明最初のデバッグにあきらめ及び99%でのstackoverflowなどでここに投稿する前にあなたの変数/配列です

foreach ($posts as $post) { 
    if(!empty($post['Post']['title'])) {...} 
} 

($記事を仮定すると、いくつかの記事が含まれています)あなたは、foreachループを忘れてしまったと仮定すべてのケースのうち、これが問題を数秒で解決します。

+0

幸いにも私はforeachループを忘れていませんでしたが、とにかく感謝します!一度私はもう少しPhP /ケーキに慣れていますが、私はとても多くの質問をしません;-) – Plastika

1

は、下記のコードを試してみてください。

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

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

ページを更新した後、出力を投稿してください。

0
you can print the array using 

debug($posts); 

and check whether $posts['Post']['title'] contains value or not and then try 

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

or you can use isset() function instead of empty() to do the same 
関連する問題