質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1586閲覧

CakePHPで、PHPで記述したページの一部が表示されない

ksakurai

総合スコア17

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/08/30 13:36

編集2016/08/30 22:19

お世話になります。
cakePHPを使ってブログアプリを作っています。

検索結果を表示するページに、ページャーをつけたいのですが、
ビューの部分で、記述した一部のソースが表示されず、原因がわからず困っています。

具体的には、下記のソースの一番下にある、この部分が表示されなかったり、
「次へ」が文字化けしたりします。

PHP

1<!-- 表示されない部分 --> 2<!-- 次へ --> 3<?php if ($total > ($limit * $page)) : ?> 4 <p><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $page + 1;?>">次へ</a></p> 5<?php endif; ?> 6<!-- /次へ -->

試したことは、
・コメントアウトの削除
・ページャーの部分だけ、HTMLと混在をさせずにPHPだけで記述
以上です。

どなたか、お力を貸していただけないでしょうか。
宜しくお願い致します。


ソース全文

PHP

1<!-- File: src/Template/Articles/index.ctp (delete links added) --> 2<div class="searchMenu"> 3 <form method="get" accept-charset="utf-8" action="/articles/search"> 4 <div style="display:none;"> 5 <input type="hidden" name="_method" value="GET"> 6 </div> 7 <div class="input text required"> 8 <input type="text" name="q" maxlength="255" id="q"> 9 </div> 10 <div style="display:none;"> 11 <input type="hidden" name="page" value="1"> 12 </div> 13 <button type="submit">検索</button> 14 </form> 15</div> 16<h1><?= $q ?> の検索結果</h1> 17<?php if ($total == 0) : ?> 18<p>記事はありません</p> 19 20<?php else : ?> 21 22<table> 23 <tr> 24 <th>Id</th> 25 <th>Title</th> 26 <th>Created</th> 27 </tr> 28 29<!-- ここで $articles クエリオブジェクトをループして、投稿情報を表示 --> 30 31 <?php foreach ($articles as $article): ?> 32 <tr> 33 <td><?= $article->id ?></td> 34 <td> 35 <?= $this->Html->link($article->title, ['action' => 'view', $article->id]) ?> 36 </td> 37 <td> 38 <?= $article->created->format(DATE_RFC850) ?> 39 </td> 40 </tr> 41 <?php endforeach; ?> 42</table> 43<div> 44 <!-- 前へ --> 45 <?php if ($page >= 2) : ?> 46 <p><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $page - 1;?>">前へ</a></p> 47 <?php endif; ?> 48 <!-- /前へ --> 49 50 <!-- 各ページ --> 51 <?php if ($total > $limit && $limit !== 0) : ?> 52 <?php for ($i = $selector['start']; $i <= $selector['end']; $i++) : ?> 53 <?php if ($i == $page) : ?> 54 <p class="currentPage"><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $i;?>"><?= $i; ?></a></p> 55 <?php else : ?> 56 <p class="otherPage"><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $i;?>"><?= $i; ?></a></p> 57 <?php endif; ?> 58 <?php endfor; ?> 59 <?php endif; ?> 60 <!-- /各ページ --> 61 62 <!-- 次へ --> 63 <?php if ($total > ($limit * $page)) : ?> 64 <p><a href="/articles/search?_method=GET&q=<?= $q; ?>&page=<?= $page + 1;?>">次へ</a></p> 65 <?php endif; ?> 66 <!-- /次へ --> 67</div> 68<?php endif; ?> 69

修正のご依頼ありがとうございます。
出力されたHTMLはこちらです。
途中から切れてしまっています。
宜しくお願い致します。

HTML

1<div> 2<!-- 前へ --> 3<p><a href="/articles/search?_method=GET&q=&page=2">前へ</a></p> 4<!-- /前へ --> 5 6<!-- 各ページ --> 7<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=1">1</a></p> 8<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=2">2</a></p> 9<p class="currentPage"><a href="/articles/search?_method=GET&q=&page=3">3</a></p> 10<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=4">4</a></p> 11<p class="otherPage"><a href="/articles/search?_method=GET&q=&page=5">5</a></p> 12<!-- /各ページ --> 13 14<!-- 次へ --> 15<p><a href="/articles/sear

本件ですが、controller内で使用していたdebugメソッドを削除したら、正常に表示されるようになりました。CakePHPのデバッグキットがなんらかの干渉をしていたようです。
なので、本件は解決済みとさせて頂きます。
ご検証いただき有難うございました。
また宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/08/30 14:22

ページャ部分について、出力されたHTML(ブラウザで「ページのソースを表示」)を質問文に追記ください。
guest

回答1

0

自己解決

本件ですが、controller内で使用していたdebugメソッドを削除したら、正常に表示されるようになりました。CakePHPのデバッグキットがなんらかの干渉をしていたようです。
なので、本件は解決済みとさせて頂きます。
ご検証いただき有難うございました。
また宜しくお願い致します。

投稿2016/08/30 22:22

ksakurai

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問