Executar uma pesquisa SQL em JS

quero executar uma consulta SQL em A.Ficheiro JS. Tentei adicionar alguns códigos PHP a ele, mas não funcionou, claro.

quero executar a pesquisa SQL: SELECT price FROM list WHERE q=1. Quero mostrar o preço no gráfico. Alguém sabe como eu posso executar esta consulta SQL no .Arquivo JS para que eu possa obter o preço do item da base de dados?

estou a usar o seguinte código 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
  });
Author: Sᴀᴍ Onᴇᴌᴀ, 2016-05-26

4 answers

Você não pode executar uma consulta usando javascript porque javascript não pode se conectar diretamente com a sua base de dados, mas você pode usar AJAX. Com esta tecnologia você será capaz de enviar um pedido para uma página PHP (ou outra língua do lado do servidor) onde reside o código que pode executar uma consulta para o seu db e obter de volta o resultado desta consulta.

Poderá encontrar algumas informações sobre o servidor cliente toma.

Https://spin.atomicobject.com/2015/04/06/web-app-client-side-server-side/

Http://www.codeconquest.com/website/client-side-vs-server-side/

E você pode encontrar muitas informações úteis sobre ajax aqui:

Https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started

Olha até para a jQuery para gerires a chamada do Ajax.: http://api.jquery.com/jquery.ajax/

Editar Você pode usar o servidor JavaScript lateral para acessar a sua base de Dados, aqui você pode encontrar um bom artigo sobre o conjunto MySql. Em poucas palavras:

O controlador de JavaScript do aglomerado de MySQL para o nó.js é o que parece como é – é um conector que pode ser chamado diretamente de seu Código JavaScript para ler e escrever seus dados. À medida que acede aos dados nós diretamente, não há latência extra de passar através de um MySQL Servidor e necessidade de converter de código JavaScript / / objetos em SQL operacao. Se por alguma razão, preferires que passe por um Servidor de MySQL (por exemplo, se você está armazenando tabelas no InnoDB) então isso pode ser configurado.

 4
Author: Ema.jar, 2016-05-26 07:39:43

Você não pode ligar-se ao Mysql directamente do lado cliente JS, mas apenas do lado servidor JS, como node. Ele pode exatamente como PHP connect usando extensões DOP ou mysqli, executar sua consulta e, em seguida, passar a informação para o lado cliente JS.

 3
Author: Elzo Valugi, 2016-05-26 08:32:01

Execute a sua consulta para fora do JS e passe os preços no javascript .

Exemplo:

$res_price = $conn -> query("SELECT price FROM list WHERE q=1");
$row_price = mysqli_fetch_assoc($res_price);

echo $row_price['price'];

Agora em Javascript adicionar como,

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

Se você quiser adicionar mais de um preço, então você pode geri-lo através de array também fazer array de preço e passá-lo no js.

 2
Author: Bhavin, 2016-05-26 07:25:25

Não pode ligar-se directamente ao mysql com o javascript, mas pode fazer eco da sua variável php em javascript como este..

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

Você pode cobrir todo o javascript dentro do script php.

Isto irá substituir assim na execução.

{y: '2016 Q1', item1: 12054, item2: 65242},
 2
Author: Abhishek Gurjar, 2016-05-26 07:31:25