PHPから(mysqlのfectchデータの後に)複数の変数をjsエクステンションファイルに渡すことができません。だからecho $x_1
を使うと、htmlファイルの#watts_value
に渡って正常に表示できます。
しかし、私は変数$x_1
を#watts_value
と$x_2
からkwh_value
に渡したいと思います。私はすでにこれをやろうとしていますが、それはすべての価値を#watts_value
に渡すだけです。
私はphpからjavascriptに変数を渡す方法についてはわかりません。私に提案するか、これを行う方法を教えてください。PHPからextenal jsファイルに複数の変数を渡すには?
これは、これは私のmain.js
$(document).ready(function(){
\t function read(){
\t \t $.post("get_db.php",
\t \t function(data, status){
\t
\t \t if(status == 'success'){
\t \t \t $('#watts_value').html(data);
\t \t }
\t \t else{
\t \t \t $('#info').html("Error!");
\t \t }
\t \t });
\t };
\t read();
\t setInterval(read,1000);
});
である私のhtml
<div id="watts_value"></div>
<div id="kwh_value"></div>
です
これは出力への私のPHPファイル
<?php
$servername="localhost";
$username="root";
$password="";
$dbname="rt_db";
$tbname="rt_data";
$conn=new mysqli($servername, $username, $password, $dbname);
if($conn->connect_error){
die("Connection failed: ".$conn->connect_error);
}
$sql_1="SELECT * FROM $tbname WHERE SensorId ='1'";
$sql_2="SELECT * FROM $tbname WHERE SensorId ='2'";
$result_1=$conn->query($sql_1);
$result_2=$conn->query($sql_2);
if($result_1->num_rows>0){
while($row=$result_1->fetch_assoc()){
$x_1=$row['SensorData'];
echo $x_1;
}
}
if($result_2->num_rows>0){
while($row=$result_2->fetch_assoc()){
$x_2=$row['SensorData'];
echo $x_2;
}
}
else {
echo "fail";
}
$conn->close();
?>
2つの別々のクエリを実行する代わりに、 'WHERE SensorId IN(1,2)'のように 'IN'節を調べる必要があります。 – tadman
**警告**:エラー抑制 '@'演算子を使用すると、コードの問題が隠され、このようなデバッグの問題がさらに複雑になります。これは最後の手段であり、例外的な状況でのみ使用すべきです。 – tadman