php - 将变量从 javascript 传递到 php get 语句

标签 php javascript jquery get

我在之前的帖子中查找过此问题,因此如果已得到答复,我深表歉意。我的 javascript 如下,其中 data 参数是一个字符串,引用 MySQL 数据库中的表:

    getData("UKnatgas");

function getData(data){
$.getJSON("service.php?action="+data, function(json) {              
    $.each(json.UKnatgas,function() {
       var info = this.UKnatgas;                    
                $('#UKnatgas').append( info );
    });
});
}

首先,我想将字符串“UKnatgas”传递到子 $.each 函数中,以便它读取:

$.each(json.data,function() {
       var info = this.data;                    
                $('#data').append( info );
    });

但这不起作用?你能告诉我为什么吗?

第二部分是删除 php 文件中“UKnatgas”的所有实例:

  if($_GET){
if($_GET['action'] == 'UKnatgas'){
    $query = "SELECT UKnatgas FROM UKnatgas order by Date DESC Limit 1 ";
    $result = db_connection($query);

    $UKnatgas = array();

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        array_push($UKnatgas, array('UKnatgas' => $row['UKnatgas']));
    }
    echo json_encode(array("UKnatgas" => $UKnatgas));
    exit;
    }
}

总而言之,我想用一个字符串初始化函数 getData(data),该字符串传播到 javascript 函数,然后传播到 php 文件。这可能吗?

谢谢!

最佳答案

PHP 很简单,尽管我允许对错误进行某种类型的检查,甚至在您放置用户可编辑字符串时检查黑客尝试。这可能允许 MySQL 注入(inject),所以要小心。

如果可以的话,尽可能使用mysql_real_escape_string。有关更多信息,请参阅链接:http://www.php.net/manual/en/function.mysql-real-escape-string.php

if($_GET['action']){
    $query = "SELECT `".$_GET['action']."` FROM `".$_GET['action']."` order by Date DESC Limit 1 ";
    $result = db_connection($query);

    $actionArray = array();

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        array_push($actionArray, array($_GET['action'] => $row[$_GET['action']]));
    }
    echo json_encode(array($_GET['action'] => $actionArray));
    exit;
}

不太确定,但这应该适用于 JSON

$.each(json, function(key, val) {
    $('#'+data).append( val );
});

http://api.jquery.com/jQuery.getJSON/

我在您的情况下进行了测试,您需要执行以下操作才能访问数据。现在,这是使用 JSON 作为关联数组,但事实并非如此,但不是 100% 如何做到这一点。

function getData(data) { 
    $.getJSON("service.php?action="+data, function(json) { 
        $.each(json[data], function() { 
            var info = this[data];
            $('#'+data).append( info ); 
        }); 
    });
}

关于php - 将变量从 javascript 传递到 php get 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403901/

相关文章:

jquery - jquery slider 上按钮的 z-index

javascript - 将现有 jQuery 函数绑定(bind)到链接

php - 回显末尾不带零点 (.0) 的十进制值

javascript - onBlur() 函数在 JavaScript 中不起作用

javascript - Laravel 4 和 Angular JS 以及 Twitter Bootstrap 3 分页

javascript - 媒体元素音频源节点如何播放

javascript - 全尺寸屏幕的中心导航栏选项卡和移动屏幕的导航栏折叠内

PHP议程与mysql回显表中的记录

php - 如何包含/要求 `use` 运算符语句?

javascript - Either|Or 正则表达式的一部分,用于匹配两种可能性