• 締切済み

PHPの中にPHP?

例えば <?php $all_array = array( "1", "2", "3", "4", "5", "6", "7", "8", "9", ・ ・ ・ という記述をした時に、"1"、"2"に他で作ったphpファイルを呼び出して表示させることは出来ないのでしょうか? 今までは単純に<? include("○○.php"); ?>で呼び出していたのですが、これは使えませんよね? よろしくお願いします。

みんなの回答

回答No.5

> やりたいこと…ページ送りがしたいんです。 そういうことであれば jQuery でやってみてはどうでしょうか。 jQuery ページング で検索したら以下のようなhitがありました。 http://kachibito.net/web-design/pagination-plugin.html http://jsajax.com/articles/jQueryPager/1863 http://jsajax.com/Articles/jquerytalbepaging/1122 他にもjQueryを使った方法はいろいろあるので 多数の検索結果からデモを見てみて自分のイメージに合う方法を用いたら良いでしょう。 jQueryを使うならPHPでプログラムを組む必要はなくて、phpは今までどおりincludeだけ で間に合うでしょう。 jQueryの勉強はちょっと必要ですが、ページングだけなら プログラムとかアルゴリズムとかループとか自分で考える必要はなく あとはjQueryの書き方に慣れるだけですから。 尚、jQueryの質問があればPHPでなくAJAXで。

kurohi2ji
質問者

補足

ありがとうございます。 jQueryのやり方も調べてみますね。 今のやり方がうまくいかないならQueryの方が早いかもしれませんね。 情報ありがとうございました。

回答No.4

>しかし<?php ?>の中で<?php ?> は使えないのですね。 どんな風に書いたんですか? 外側の<?phpから(内側の<?php ?>も含めて)?>まで、書いてみてください。 、、まあ、、想像はつきますけどね。。。

kurohi2ji
質問者

補足

ソースは http://biscuit.lovepop.jp/php_page_slice.php を拝借しました。 そして、 $all_array = array( "1", "2", "3", "4", の"1"や"2"の部分を <? include("1.php"); ?> と書き変えたのですが、そもそも書きかえる場所が違う上に<?php ?>の中で<?php ?> は使えないそうで。 想像通りでしたか?

回答No.3

んん? include("1.php") で1.phpの内容がその位置で実行されるはずですよ? あ、まさか"1"を"1.php"とかinclude("1.php")に変えたとかじゃないですよね? そこじゃなく、参考サイトでいえば"1"や"2"などを表示させるところで代わりにinlclude("1.php")やらinclude("2.php")を実行するということです。 そこのソースで言うと echo "<center>"; $length_page = count($page_array);  for($i = 0 ; $i < $length_page ; $i++){   echo $page_array[$i];   echo "<br>";  } とやってる部分で「$page_array[$i]」が"1"やら"2"やらになるのは分かりますよね?ここで、たとえばinclude($page_array[$i].".php")とやると(「.」は文字列を連結する演算子)、「$page_array[$i].".php"」が「"1.php"」やら「"2.php"」やらになりますので無事includeできます。 ということで、どこでどうincludeするかについては以上です。 /*というか参考サイトのソース汚いなあ…HTMLも駄目駄目だし。 できればこんなソースは真に受けないで本当に参考だけにとどめてほしい…*/

kurohi2ji
質問者

補足

まさか"1"を"1.php"とかinclude("1.php")に変えてました…違ったんですね。。 そもそも何処で"1"や"2"などを表示させるのかも分かっていないんですが、 echo "<center>"; $length_page = count($page_array);  for($i = 0 ; $i < $length_page ; $i++){   echo $page_array[$i];   echo "<br>";  } が"1"や"2"やらょ表示させるコードって事ですか? >include($page_array[$i].".php")とやると どこにやればいいのでしょう…? $page_array[$i]と置き換えればいいんでしょうか? 全く理解できてないみたいですみません… というかそもそもphpの勉強をすっ飛ばしてコードだけ拝借しようとしたのが間違いでしたね。ちょっとhtmlとcssが分かる程度の私には早かったのかもも…

回答No.2

#1です。 つまり掲示板の様な挙動でコンテンツが読み込まれて表示される? とりあえず、<?php ?> の中で<?php ?>は使えません。「Parse error: syntax error, unexpected '<' in ~」が出ましたよね?タグで囲わずに直接記述してください。 まずはそれでエラーについては解決するかと。

kurohi2ji
質問者

補足

回答ありがとうございます。 コンテンツが読みこまれて表示…で合ってると思います。 今までは1.htmlの中に <? include("1.php"); ?> <? include("2.php"); ?> <? include("3.php"); ?> ・ ・ ・ と記述して表示させていたのですが、ページを分ける際に1.htm、2.html…と何ページも作るとコンテンツの入れ替えが大変だと思い、先に書いた方法が使えないかと思ったんです。 しかし<?php ?>の中で<?php ?> は使えないのですね。 タグで囲わずに直接表示というのは先に作った1.phpに記述したものを""内に書けということでしょうか? ""の中に1.phpのみ記述しても、1.phpの中身が表示されることはないですよね? <?php ?> の中で<?php ?>を使わずにphpファイルを呼び出して表示させる方法はあるんでしょうか? よろしくお願いします。

回答No.1

「"1"、"2"に他で作ったphpファイルを呼び出して表示させる」とは? たぶん、本当にやりたいことを説明してくれれば、普通の方法が出てくると思います。

kurohi2ji
質問者

補足

回答ありがとうございます。 やりたいこと…ページ送りがしたいんです。 htmlのページにphpで作ったコンテンツを貼りつけて表示させていたんですが、件数が増えてきたので数件ごとにページを分けれたら良いなと思いまして。 調べていたら http://biscuit.lovepop.jp/php_page_slice.php こちらのサイトで私のやりたいことに近いものが紹介してあったのでやってみたのですが、"1"、"2"の所に今までの様に<? include("○○.php"); ?>を書き込んだらエラーになってしまったので。 よろしくお願いします。

関連するQ&A