2012-03-14 5 views
0

PHPはサーバー側の言語ですが、私の現在の要求はクライアント(ブラウザ)側の言語でPHPを使用することです。私は説明しましょう - 私は何らかの形で.phpファイルをロードする命令を持っている.htmlファイルを持っています。この.phpファイルはDBと対話する(または動的Javaスクリプトを作成する)。その後、このデータはPHPの機能を使用してWeb HTMLファイルに動的に表示されます。同じことが可能ですか?あなたは同じものの例を教えていただけますか? PHPファイルをインクルードするためのHTMLインクルードコマンドとは何ですか?PHPがHTML内

これは可能ですが、同じことが可能ならば、そうするHTMLタグは何ですか?

私はいくつかの例を通じて説明しましょう:

A.html

<html> 
<head></head> 
<body> 
<ul> 
inlude <--"phpfile.php"--> 
</ul> 
</body> 
</html> 

今 "phpfile.php"

<?php for($i=1;$i<=5;$i++){ ?> 
<li>Menu Item <?php echo $i; ?></li> 
<?php } ?> 

を持つことになりますので、最終的にはHTMLファイルがユーザーに与えるだろう:

•Menu Item 1 
•Menu Item 2 
•Menu Item 3 
•Menu Item 4 
•Menu Item 5 

ここに私の本当の必要条件があります。私はHighChart列のドリルダウンチャートをWebページに実装する必要があります。今では、静的にJSを使用して構築されています

参考文献:

Example 1 Example 2

を、私は、ダイナミックN番目のレベルの列のドリルダウンHighchartを作成しようとしています。ドリルダウン 'データ'とそのタグは動的であると想定されているため、動的JSを生成する必要があります。 PHPを使用して同じことが可能です

WebホストにPHPがインストールされており、HighChart JSスクリプトが動的である必要があるため、AJAX呼び出しを行うと解決しません。 AJAXの呼び出しは私にデータを与えることができますが、私はダイナミックとして作られたJSスクリプトを持つことができます。質問の参考文献の例を参照してください。それはあなたの閲覧のための 'データ' 'ドリルダウン' JS配列タグを持っています。私はここに、動的にする必要がHighChartデータ配列を追加していより明確にするために

var colors = Highcharts.getOptions().colors, 
     categories = ['MSIE', 'Firefox', 'Chrome', 'Safari', 'Opera'], 
     name = 'Browser brands', 
     level = 0, 
     data = [{ 
      y: 55.11, 
      color: colors[0], 
      drilldown: { 
       name: 'MSIE versions', 
       categories: ['MSIE 8.0', 'MSIE 6.0', 'MSIE 7.0', 'MSIE 9.0'], 
       level: 1, 
       data: [{ 
        y: 33.06, 
        drilldown: { 
         level: 2, 
         name: 'drilldown next level', 
         categories: ['a', 'b', 'c'], 
         data: [23,54,47], 
         color: colors[0] 
        } 
       }, 10.85, 7.35, 2.41], 
       color: colors[0] 
      } 
     }, { 
      y: 21.63, 
      color: colors[1], 
      drilldown: { 
       name: 'Firefox versions', 
       categories: ['Firefox 3.6', 'Firefox 4.0', 'Firefox 3.5', 'Firefox 3.0', 'Firefox 2.0'], 
       data: [13.52, 5.43, 1.58, 0.83, 0.20], 
       color: colors[1] 
      } 
     }, { 
      y: 11.94, 
      color: colors[2], 
      drilldown: { 
       name: 'Chrome versions', 
       categories: ['Chrome 10.0', 'Chrome 11.0', 'Chrome 8.0', 'Chrome 9.0', 'Chrome 12.0', 
        'Chrome 6.0', 'Chrome 5.0', 'Chrome 7.0'], 
       data: [9.91, 0.50, 0.36, 0.32, 0.22, 0.19, 0.12, 0.12], 
       color: colors[2] 
      } 
     }, { 
      y: 7.15, 
      color: colors[3], 
      drilldown: { 
       name: 'Safari versions', 
       categories: ['Safari 5.0', 'Safari 4.0', 'Safari Win 5.0', 'Safari 4.1', 'Safari/Maxthon', 
        'Safari 3.1', 'Safari 41'], 
       data: [4.55, 1.42, 0.23, 0.21, 0.20, 0.19, 0.14], 
       color: colors[3] 
      } 
     }, { 
      y: 2.14, 
      color: colors[4], 
      drilldown: { 
       name: 'Opera versions', 
       categories: ['Opera 11.x', 'Opera 10.x', 'Opera 9.x'], 
       data: [1.65, 0.37, 0.12], 
       color: colors[4] 
      } 
     }]; 

また、最終ページは.phpのページではありませんが、私は "を作るための方法を探していますデータ配列1,2,3,4 ... N番目の要素JS配列

+3

用のためにこれが可能イマイチ。 PHPはサーバサイド言語のみです。それを使用する必要がある場合は、サーバーにajaxリクエストを送り返す必要があります。 – Undefined

+0

あなたはphpファイルやajaxにフォームを提出することができます(Samが言ったように)。 htmlの拡張子を持つphpを実行する方法はありません。 –

+1

@Sohail - ファイル拡張子には制限がありません。サーバは.htmlファイルをmod_phpに渡すように設定することができます。 PHPはまだクライアントではなくサーバー上で処理されます。 – Quentin

答えて

4

いいえ。ブラウザにはPHPインタープリタはありません。

最も近いのは、ブラウザ側でサポートされている言語で書かれたクライアント側のロジック(JSが正常なオプションです)を作成し、WebサービスにHTTPリクエスト(これはAjax)を作成することですPHPで)データベースと対話します。そのデータがブラウザに返されると、クライアントサイドのコードはDOM操作を実行できます。

+0

AJAXとjQueryを見てみてください(簡単なAJAX呼び出しのため) –

+1

jQuery以外の多くの素晴らしいライブラリがあります。私は[YUI](http://developer.yahoo.com/yui/)と[ここには小さな専門のコレクションがあります](http://microjs.com/#ajax)が好きです。 – Quentin

+1

これは事実ですが、私は初心者が使いやすいと感じているので、jQueryを提案しています(他のライブラリはそうではありません)。 –

0

これはできません。あなたが質問の冒頭で述べたように、PHPはサーバ上で動作します。

しかし、AJAXを使用して、WebページからPHPスクリプトを動的に呼び出して結果を表示することができます。これには、ブラウザからサーバーに要求を戻すためにJavaScriptが必要です。これは、 ".phpファイルを読み込む命令"を持つHTMLではありません。これは不可能です。しかし、JavaScriptは、サーバーサイドスクリプトから結果を得るための仲介者として使用することができます。私はAJAXに関するいくつかの調査を行い、それがあなたのニーズを満たすことができるかどうかを確認することをお勧めします。

+0

HighChart JSスクリプトを動的にする必要があるため、AJAX呼び出しを行うことはできません。 AJAXの呼び出しは私にデータを与えることができますが、私はダイナミックとして作られたJSスクリプトを持つことができます。質問の参考文献の例を参照してください。それはあなたの閲覧のための 'データ' 'ドリルダウン' JS配列タグを持っています。 – Prakash

1

これはあなたがそれを記述したのとまったく同じ方法で行うことはできません。 さらに - あなたの質問はちょっと変わっていますが、これはPHPが何であるか、それを達成できるかを正確に理解していない可能性があることを示唆しています。

あなたのニーズがLOCALシステム(公開されていない)のみになっている場合、あなたはいつでもLOCAL MACHINEにPHPサーバーをインストールしてアクセスできます。 何らかの理由でアドレスバーにHTMLのプレフィックスを表示する必要がある場合 - ouはPHPに* .HTML拡張子のHTMLファイルを提供させることができます。ユーザーにはHTMLのように見えます。あなたは、HTMLファイルでは、PHPを含めることができます - - 言われていること

が、サーバ側なくて、彼らは実行されません...私は使用見(ただし、試したことがない)している

一つの方法は、JavaScriptのようにそれを含めています。

<script language="JavaScript" type="text/javascript" 
src="http://www.mydomain.com/html.php" 
<script> 

、その後

<?php 
$ref = $_SERVER['HTTP_REFERER']; 
$ser = "Server: ". $_SERVER['SERVER_NAME'] . "Script name: ". $_SERVER['SCRIPT_NAME']; 
echo "document.write('this is php code called from HTML file:' );"; 
echo "document.write('$ref');"; 
echo "document.write('$ser');"; 
?> 

しかし、通常は、あなたのhtaccessファイルを編集することである:

<Files yourpage.html> 
AddType application/x-httpd-php .html 
</Files> 

または単一

AddType application/x-httpd-php .html 

または.htmの

AddType application/x-httpd-php .htm 
関連する問題