web-dev-qa-db-ja.com

JSでSQLクエリを実行する

.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
  });
9
John

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にテーブルを保存している場合)、それを設定できます。

4
Ema.jar

クライアント側JSからMysqlに直接接続することはできませんが、nodeなどのサーバー側JSからのみ接続できます。 PHP PDOまたはmysqli拡張を使用して接続し、クエリを実行してから、情報をクライアント側JSに渡すことができます。

3
Elzo Valugi

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に渡します。

2
Bhavin

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},
2
Abhishek Gurjar