2016-05-26 6 views
7

Я хочу запустить SQL-запрос в файле .JS. Я попытался добавить к нему некоторые PHP-коды, но это не сработало, конечно.Запуск SQL-запроса в JS

Я хочу запустить SQL-запрос: SELECT price FROM list WHERE q=1. Я хочу показать цену на графике. Кто-нибудь знает, как я могу запустить этот SQL-запрос в файле .JS, чтобы я мог получить цену товара из базы данных?

Я использую следующий код 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 
    }); 
+0

Возможный дубликат [Может ли JavaScript подключаться к MySQL?] (Http://stackoverflow.com/questions/3020751/can-javascript-connect-with-mysql) –

ответ

2

Вы не можете подключиться к Mysql непосредственно с клиентской стороны JS, но только с сервера стороне JS, например node. Это может быть так же, как PHP-подключение с использованием PDO или mysqli-расширений, запуск вашего запроса, а затем передача информации на стороне JS на стороне клиента.

4

Выполните запрос на стороне 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 добавить Мол,

<?php echo $row_price['price']; ?> 

Если вы хотите добавить более одного цены, то вы можете управлять им с помощью массива также сделать массив цены и передать его в js.

2

Вы не можете напрямую подключиться к MySQL с Javascript, но вы можете повторить вашу переменную PHP в JavaScript, как это ..

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} 
] 

вы можете покрыть весь JavaScript внутри PHP скрипт.

Это будет заменено, как при выполнении.

{y: '2016 Q1', item1: 12054, item2: 65242}, 
4

Вы не можете выполнить запрос с использованием JavaScript, поскольку Javascript не может подключиться напрямую с базой данных, но вы можете использовать AJAX. С помощью этой технологии вы сможете отправить запрос на страницу с PHP (или другим языком на стороне сервера), где будет находиться код, который может выполнить запрос на ваш db и вернуть результат этого запроса.

Вы можете найти некоторую информацию о клиенте сервера здесь:

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

Взгляните даже на jQuery для управления вызовом Ajax: http://api.jquery.com/jquery.ajax/

EDIT Вы можете использовать Серверный JavaScript для доступа к базе данных, here вы можете найти хорошую статью о MySql Cluster. Вкратце:

Драйвер JavaScript для кластера MySQL для узла.js - это то, что звучит , как будто это - это коннектор, который можно вызвать непосредственно из вашего кода JavaScript для чтения и записи ваших данных. При непосредственном доступе к узлам данных , нет дополнительной задержки при прохождении через сервер MySQL и необходимо преобразовать из кода JavaScript // объекты в SQL операций. Если по какой-то причине вы предпочли бы, чтобы он проходил через сервер MySQL (например, если вы храните таблицы в InnoDB), то можно настроить .