首页 > 解决方案 > 通过ajax将数据从javascript传递到php,动态选择一个myslq表并在javascript中检索查询的数据

问题描述

我坚持使用 ajax 和 php,我想将信息传递给与 mysql 通信并检索变量中的数据的 php 文件。目前我设法通过javascript将数据传递给php,我不能做相反的事情。

这是代码HTML CODE

<form action="">
           <select name="misura" onchange="show(this.value)">
           <option value="">scegli la misura</option>
           <option value="1">1</option>
           <option value="2">2</option>
           -->
           <option value="husqvarna_272xp_catena_nuova_operatore_1">husqvarna_272xp_catena_nuova_operatore_1</option>
           <option value="husqvarna_550xp_catena_usata_operatore_2">husqvarna_550xp_catena_usata_operatore_2</option>
           <option value="husqvarna_550xp_catena_usata_operatore_1">husqvarna_550xp_catena_usata_operatore_1</option>
           <option value="husqvarna_550xp_catena_nuova_operatore_2">husqvarna_550xp_catena_nuova_operatore_2</option>
           <option value="husqvarna_550xp_catena_nuova_operatore_1">husqvarna_550xp_catena_nuova_operatore_1</option>
        </select>
        </form>
       </form>

JAVASCRIPT/AJAX

function show(str){
    var xhttp; 
    if(str == "") {
        document.getElementById("txtHint").innerHTML ="";
        return;
    }
    xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() {
        if(this.readyState == 4 && this.status == 200){
            document.getElementById("txtHint").innerHTML = this.responseText;
       }
    };
    xhttp.open("GET","database_web.php?q="+str, true);
    xhttp.send();
}

文件 DATABASE.PHP 中的 PHP 代码


<?php

$q = intval($_GET['q']);


$con=mysqli_connect("localhost","USER","PASS","DB");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Perform queries 
$dati="SELECT * FROM ".$_GET['q']."";
$result = mysqli_query($con,$dati);

echo "<table>
<tr>
<th>Frequenza</th>
<th>dati_X</th>
<th>dati_Y</th>
<th>dati_z</th>
</tr>";

while($row=mysqli_fetch_array($result,MYSQLI_NUM)) {
    echo "<tr>";
    echo "<td>" . round($row[0],2) . "</td>";
    echo "<td>" . round($row[1],2) . "</td>";
    echo "<td>" . round($row[2],2) . "</td>";
    echo "<td>" . round($row[3],2) . "</td>";


    $prova = $row;
    $xData[] =  $row[0];
    }
mysqli_close($con);

转换为文件database.php中的json

<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable


  // operatore 1 antivibrante
  // misura 1 exp
 var  assex = 
  <?php echo json_encode($xData) ;?>;
  console.log(assex);
</script>

在 console.log 我什么也看不到,我不明白为什么。我的目标是从 sql 查询中检索数据并使用数据动态创建图表。

我在这个地址做了一个测试页面

http://www.rdgdesign.it/elaboration/ajax_web.php

谢谢大家!

标签: javascriptphpmysqlajax

解决方案


推荐阅读