2017-11-17 6 views
0

私は、PHPに基づいた自分のサイトでナップザック問題アルゴリズムを実装する必要があります。私はJavaScriptで作ろうと思っていましたが、私は問題に遭遇しました。私はMySQLからこのアルゴリズムに取り入れる必要があるデータを取っています.JavaScriptではこれを行うことができません。そこで、Node.jsのコネクタを追加することでこれを実現しました。このアルゴリズムは、ユーザーが何らかの入力をしているときに機能します。私はHTMLで入力を取得し、それを関数のパラメータとして使用するためのフォームを作成しました。問題は今、PHPでWebサイト全体が書かれていて、データベースに接続しているnode.jsの部分のためJavaScriptで接続できないということです。私はこれを使う方法があるかどうか尋ねたい。node.js/javascriptでPHPを接続する

ウェブサイトはPHPになっています。ユーザーからの入力をJavaScriptファイルから取得するための簡単なHTMLフォームを作成したいと考えています。問題は、私のJavaScriptファイルが実行するためにMySQLデータを必要とするため、node.jsになります。そして、私が知っていることから、PHPベースのウェブサーバでnode.jsを実行するのは簡単ではありません。 PHPとJavaScriptを組み合わせてPHPがMySQLからJavaScriptにデータをロードできるようにすることはできますか?何をお勧めしますか?

答えて

2

あなたのPHPファイルで、このような結果を注入します。

<?php 
// function that handle form data and returns results from mysql 
// let's call it my_data_function 
$results = my_data_function(); 
?> 


<script type="text/javascript"> 
    var mysql_data = <?php echo json_enode($results)?> 
    my_js_function(mysql_data) 
</script> 

これは古い学校の方法ですが、次にajaxがありましたが、今はREST APIを話しています。
これが役に立ちます。
さらなるヘルプが必要な場合はお知らせください。

3

"私はこのアルゴリズムに取り入れる必要があるデータをMySQLから受け取りました。 とJavaScriptでこれを行うことはできません"。

あなたのブラウザのJavaScriptからサーバーのPHPスクリプトへのAJAXリクエストは、これに対する簡単な解決方法です。

要約:リクエストでは、JavaScriptコードは必要なパラメータを送信し、PHPはそのデータを受け取り、データベースにクエリを行い、AJAXリクエストへの応答で結果を返します。 JavaScriptはこの応答を受け取り、データを読み取り、処理を続行します。

Node.jsは、PHPに類似したもう1つのサーバーサイドスクリプティングフレームワークです。プログラミング言語が混乱するのでJavaScriptを使用しないようにしましょう。このシナリオでは、既存のサーバー側ソリューションがPHPで記述されている場合は、Nodeを使用する必要はありません。

ブラウザベースのJSとPHPは、通常のHTTPリクエスト(AJAX経由で開始される可能性が高いため、ページの更新などは避けてください)を使用して互いに非常にうれしく通信できます。それはウェブの美しさです。クライアントとサーバーはまったく異なるプログラミング言語と異なるオペレーティングシステムを使用することができ、両者が理解できる共通プロトコル(HTTP)を使用してデータを交換するだけで、違いはありません。