MySQL从查询结果中获取数据

时间:2016-12-10 05:12:00

标签: php jquery mysql ajax cordova

我是PHP和MySQL开发的新手。我使用Visual Studio在Cordova中构建了一个应用程序。该应用程序以下列方式工作:

  1. 用户从下拉列表中选择序列号
  2. 选择序列号后,数据显示在图表上
  3. 应用中有一个切换开关,我根据=~
  4. 在数据库中插入onoff状态

    我想做什么?

    当用户选择任何序列号时,交换机将根据该serial number的{​​{1}}显示上一个ONOff状态。

    为此,我生成了一个Command Name,此查询显示了所选序列号的最后serial number

    以下是我的PHP代码:

    msql query

    以下是我在JavaScript中的AJAX调用:

    command name

    但它没有显示所需的结果并给出错误,如下图所示:

    enter image description here

    更新代码:

    Bellow是我的<?php require_once('config.php'); $dsn = $_REQUEST['Device_Serial_Number']; $cmd_Name = $_REQUEST['Command_Name']; $sqlFet = "select ADC.Server_Device_Command_ID , ADC.Device_ID , ADC.Server_Command_ID as Server_Command_ID, ASD.Command_Name from ADS_Server_Device_Command ADC inner join ADS_Server_Command ASD on adc.Server_Command_ID = asd.Server_Command_ID inner join ADS_Device dsn on adc.Device_ID = dsn.Device_ID where dsn.Device_Serial_Number = '$dsn' order by adc.Server_Device_Command_ID desc LIMIT 1"; $result = mysqli_query($con,$sqlFet); mysqli_close($con); echo $cmd_Name; ?> 更新代码

     $.ajax({
                    method: "GET",
                    url: "http://localhost:MyPort/server/toggleFetch.php",
    
                    data: { Command_Name: tData , Device_Serial_Number: selectedVal },
                    success: function (data) {
                        var dt = data;
                        if (dt.Command_Name == "On") {
                            $("#cmn-toggle-7").prop('checked', true);
                        }
                        else if (dt.Command_Name == "Off") {
                            console.log('else');
    
                            $("#cmn-toggle-7").prop('checked', false);
                        }
    
                    },
                    error: function (xhr, status, error) {
                       alert(xhr.responseText, status, error);
                        //toastr.success('Data not fetched', '', { timeOut: 2000 })
                        //alert('Error');
                    }
    
                });
    

    贝娄是ajax

    php

    现在运行代码时我没有收到任何错误,但仍然没有得到我要求的结果,即切换不会改变它的状态

    有关详细信息,请参阅下面的图片

    enter image description here

    我不知道问题是什么,任何帮助都会受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

这个错误意味着,AJAX没有通过GET发送Command_Name。如果变量tData包含某个值,则必须检查变量tData。

答案 1 :(得分:0)

第一步:不要将带有AJAX的command_name发送到PHP脚本(这会导致第5行错误!!),不需要它。第二步:在Php脚本中,您必须更改echo $ command_name,以基于$ dsn回显来自DB的结果。所以来自DB的回声结果。

$row = mysqli_fetch_array($result, MYSQLI_BOTH);
echo $row["Command_name"]; //This should show ON/OFF state from DB to AJAX.