.JSファイルでSQLクエリを実行したい。いくつかのPHPコードを追加しようとしましたが、もちろん機能しませんでした。
SQLクエリを実行したい:SELECT price FROM list WHERE q=1
。チャートに価格を表示したい。 .JSファイルでこのSQLクエリを実行して、データベースからアイテムの価格を取得する方法を知っている人はいますか?
次のJavaScriptコードを使用しています。
/* Morris.js Charts */
// Sales chart
var area = new Morris.Area({
element: 'revenue-chart',
resize: true,
data: [
{y: '2016 Q1', item1: 5000, item2: 4460},
{y: '2016 Q2', item1: 8432, item2: 5713}
],
xkey: 'y',
ykeys: ['item1', 'item2'],
labels: ['Item 1', 'Item 2'],
lineColors: ['#a0d0e0', '#3c8dbc'],
hideHover: 'auto'
});
var line = new Morris.Line({
element: 'line-chart',
resize: true,
data: [
{y: '2015 Q4', item1: 0},
{y: '2016 Q1', item1: 5000},
{y: '2016 Q2', item1: 8432}
],
xkey: 'y',
ykeys: ['item1'],
labels: ['Item 1'],
lineColors: ['#efefef'],
lineWidth: 2,
hideHover: 'auto',
gridTextColor: "#fff",
gridStrokeWidth: 0.4,
pointSize: 4,
pointStrokeColors: ["#efefef"],
gridLineColor: "#efefef",
gridTextFamily: "Open Sans",
gridTextSize: 10
});
Javascriptはデータベースに直接接続できないため、javascriptを使用してクエリを実行することはできませんが、AJAXは使用できます。この技術を使用すると、PHP(または他のサーバー側言語))ページにリクエストを送信できます。このページには、データベースへのクエリを実行し、このクエリ。
クライアントサーバーに関するいくつかの情報はここで見つけることができます:
https://spin.atomicobject.com/2015/04/06/web-app-client-side-server-side/
http://www.codeconquest.com/website/client-side-vs-server-side/
そして、ここでajaxに関する多くの有用な情報を見つけることができます:
https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started
Ajax呼び出しの管理についてはjQueryをご覧ください: http://api.jquery.com/jquery.ajax/
[〜#〜] edit [〜#〜]サーバー側のJavaScriptを使用してデータベースにアクセスできます。 here できますMySql Clusterに関する良い記事を見つけてください。一言で言えば:
Node.js用のMySQL Cluster JavaScriptドライバーは、まさにそのように聞こえます。これは、JavaScriptコードから直接呼び出してデータを読み書きできるコネクターです。データノードに直接アクセスするため、MySQLサーバーを通過する際の余分な遅延はなく、JavaScriptコード//オブジェクトからSQL操作に変換する必要があります。何らかの理由で、MySQLサーバーを通過したい場合(たとえば、InnoDBにテーブルを保存している場合)、それを設定できます。
クライアント側JSからMysqlに直接接続することはできませんが、node
などのサーバー側JSからのみ接続できます。 PHP PDOまたはmysqli拡張を使用して接続し、クエリを実行してから、情報をクライアント側JSに渡すことができます。
JSの外側でクエリを実行し、javascriptで価格を渡します。
例:
$res_price = $conn -> query("SELECT price FROM list WHERE q=1");
$row_price = mysqli_fetch_assoc($res_price);
echo $row_price['price'];
JavascriptにLikeを追加し、
<?php echo $row_price['price']; ?>
複数の価格を追加する場合は、配列で管理することもできます。価格の配列を作成し、jsに渡します。
Javascriptを使用してmysqlに直接接続することはできませんが、次のようにjavascriptでphp変数をエコーアウトできます。
var area = new Morris.Area({
element: 'revenue-chart',
resize: true,
data: [
{y: '2016 Q1', item1: <?php echo $price ?>, item2: <?php echo $price ?>},
{y: '2016 Q2', item1: 8432, item2: 5713}
]
phpスクリプト内のjavascript全体をカバーできます。
これは実行時にこのように置き換えられます。
{y: '2016 Q1', item1: 12054, item2: 65242},