从json编码的字符串php构建SQL语句

k4aesqcs  于 2023-03-28  发布在  PHP
关注(0)|答案(2)|浏览(129)

我正在尝试使用php将json编码的字符串解码为SQL语句。
假设我有这样一个json编码的字符串=〉

$j = '{"groupOp":"AND","rules":[{"field":"id","op":"cn","data":"A"},{"field":"i_name","op":"cn","data":"B"}]}';

我想构建SQL WHERE子句(jqGrid中filterToolbar搜索所需),类似于this =〉“WHERE id LIKE %A% AND i_name LIKE %B%“等。
我做了这个=〉

$d = json_decode($j);

$filterArray = get_object_vars($d); // makes array

foreach($filterArray as $m_arr_name => $m_arr_key){
    // here I can't made up my mind how to continue build SQL statement which I've mentioned above 
}

你知道怎么做吗?

svgewumm

svgewumm1#

第一个问题是,您需要取出groupOp操作符。
然后,你有一个对象,里面有一个对象数组,所以你可能想看看filterArray的结果,因为它没有你想要的值。
然后,当你循环时,你会想用一个索引来做,这样你就可以按顺序取出这些值。
你可能想看看这个问题,看看如何从数组中获取数据:
json decode in php
还有一个问题可能对你有帮助:
How to decode a JSON String with several objects in PHP?

z31licg0

z31licg02#

这里有一个服务器端PHP代码的实现
更正:我不得不在'filters'参数中取消双引号以使其工作:

$filters = str_replace('\"','"' ,$_POST['filters']);

相关问题