Php AJAX返回数据错误?

Php AJAX返回数据错误?,php,ajax,Php,Ajax,拜托,你能帮我解决这个问题吗 我正在按标题或价格对产品进行ASC或DESC分类。若我将它们按ASC排序,那个么就并没有问题了——我在foreach中循环产品并将生成的字符串添加到变量中。但如果产品是按DESC排序的,就有问题了——我正在通过foreach循环它们,但html并没有添加到变量中(我试图打印变量$products,所以我知道,它不是空的…)——我希望如果您看下面的代码,我的问题会很清楚。你知道吗,问题出在哪里?多谢各位 我也试着不通过ajax调用这段代码,但是转到ajax脚本的url

拜托,你能帮我解决这个问题吗

我正在按标题或价格对产品进行ASC或DESC分类。若我将它们按ASC排序,那个么就并没有问题了——我在foreach中循环产品并将生成的字符串添加到变量中。但如果产品是按DESC排序的,就有问题了——我正在通过foreach循环它们,但html并没有添加到变量中(我试图打印变量$products,所以我知道,它不是空的…)——我希望如果您看下面的代码,我的问题会很清楚。你知道吗,问题出在哪里?多谢各位

我也试着不通过ajax调用这段代码,但是转到ajax脚本的url,行为是一样的

编辑: 在将
$products\u html
添加到
$return['products\u html']
之前,我尝试回显
$products\u html
,并且在
$products\u html
中正确生成了html。。。我很困惑这是什么意思

编辑2: 当我打印$return时,一切正常-产品html存储在$return['products\u html']中。问题是,当我对它进行json_编码时。但我真的不知道,问题在哪里

以下是代码:

$products_html = '';
$products = $this->products_model->get_products_specified($filter); // here i load products into variable
foreach($products as $product){ // here i loop them
            $products_html .= view_loader('products/product_small', array('product' => $product), true); // view load returns html for product
        }
$return['products_html'] = $products_html;
        $return['params_url'] = base_url().'individual/'.generate_url_from_parameters($filter);
        $return['status'] = 1;
        $return['filter'] = $filter;
        echo json_encode($return); // echo for ajax return

如果要排序的字段的数据类型不是varchar这样的数字数据类型,那么这可能就是问题所在。

能否在循环之前为我们提供$products的值?它是产品数组。您可以在那里找到它(首先是print_r$products,然后是echo of$products_html,然后是echo json_encode($return);):@JanKožušník您遇到了什么错误?提供更多的信息。我把它贴在我的问题上。在将$products\U html添加到$return['products\U html']之前,我尝试回显$products\U html,并且在$products\U html中正确生成html。。。我很困惑这意味着什么…我们无法判断这里出了什么问题。你说这段代码没有改变,所以它应该可以工作。在一个根本没有过帐的查询中,您所更改的唯一内容是按排序。如果我们有数组的数据(查询的结果),那么我们可以判断这是否适用于该数据。现在,我们什么都不知道,你似乎不愿意提供信息。你是什么意思?价格为浮动,标题为varchar(256)