我编写此代码以连接到数据库,进行一些查询并通过json
web api
发送它们。
我想创建一个像WEB API一样工作的插件。然后将其上传到互联网上的WP模块,人们可以在他们的网站上安装它们来连接我的Android应用程序。任何地方。
这是我的php
代码(包括db_connect并发送json并回复我的Android应用程序)
<?php
if(!isset($_REQUEST ['id']))
echo "id is not set";
if (isset ( $_REQUEST ['id'] )) {
$id = $_REQUEST ['id'];
$response = array ();
mysql_connect('localhost','db_admin','password') or die(mysql_error());
mysql_select_db('db_name') or die(mysql_error());
$sql= "select * from employee";
$run=mysql_query($sql);
if (mysql_num_rows ($run) > 0) {
while ($row= mysql_fetch_array($run)){
$product = array ();
$product ["id"] = $row [0];
$product ["name"] = $row [1];
$product ["salary"] = $row [2];
$response [] = $product;
}
echo json_encode ( $response );
}
}
?>
我的经理要我不要使用默认的Woocommerse WORDPRESS API
,所以我必须创建新的插件。并想知道如何将其转换为标准模块?
有可能吗?
答案 0 :(得分:0)
如果我是你,我将创建如下: 首先关闭会为请求创建处理程序,通过ajax(我不确定android是否支持这种方式)像这样;
function get_some_information(){
$user_id = $_REQUEST['id'];
if(!isset($user_id) || empty($user_id)){
return json_encode([
'success' => false,
'message' => 'Empty Request'
]);
}
$data = get_info_from_data($user_id);
if(!empty($data)){
echo json_encode($data);
exit;
}else{
echo json_encode([
'success' => false,
'message' => 'Error while processing data'
]);
exit;
}
}
add_action('wp_ajax_get_some_information', 'get_some_information'); //for auth users
add_action( 'wp_ajax_nopriv_get_some_information', '_get_some_information' ); //for the rest
注意:有exit;
总是需要终止应用程序才能获取json,否则输出将为0
现在,我们有了一个数据和验证的访问点;它看起来更干净。
function get_some_information($id){
$result = [];
// do all things and added to the array
return $result;
}