根据传递的特定数量的php响应/信息编写新的mysql行

时间:2012-12-01 01:21:07

标签: php android mysql database

在我的android应用程序中,我正在查询mysql数据库中的特定食物ID。

示例:

Food A - (food_id 5)

食品A是三个食品集团的一部分,每个食品集团都有自己独特的ID。

示例:

Meal A - (meal_id = 3), 
Meal B - (meal_id = 8),
Meal C - (meal_id = 20)

我目前通过php连接到mysql数据库,并且可以成功查询有问题的food_id并将JSON响应接收到我的android应用程序中。

我遇到了如何通过php / JSON将其传回来创建三个mysql行(每个返回一餐),其中包括在一些新字段中添加的一些额外信息。通过将数组从android传递到我的php服务,我能得到最好的服务吗?这看起来怎么样?

3 个答案:

答案 0 :(得分:0)

您可以使用HTTPClient

将数据发送到PHP文件

这是一个简单的例子:

    url = "http://10.0.218.211/post.php"; 

HttpClient httpclient = new DefaultHttpClient();  
HttpPost post = new HttpPost(url);  

try {  

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);  
        nameValuePairs.add(new BasicNameValuePair("meal1", "important message 1"));  
        nameValuePairs.add(new BasicNameValuePair("meal2", "important message 2"));
        post.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

        // Execute HTTP Post Request  
        HttpResponse response = httpclient.execute(post);  

        } catch (ClientProtocolException e) {  
        // TODO Auto-generated catch block  
        } catch (IOException e) {  
        // TODO Auto-generated catch block  
        }
  }

的AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

post.php中

<?php

$meal1 = $_POST['meal1'];
$meal2 = $_POST['meal2'];

?>

答案 1 :(得分:0)

听起来你需要设计某种API。典型的选项是SOAP或REST的实现。由于SOAP有很多开销,您可以为系统创建REST接口。我只是在猜测,但像这样的API调用可能有意义:

POST /user/meal

使用包含表单字段的表单:     userId - 用于创建膳食计划的用户的ID     餐 - 用逗号分隔的餐点列表,或者数组元素

您的PHP脚本只需要从$ _POST获取POST参数,插入相应的行,然后返回有效的HTTP状态代码。

答案 2 :(得分:0)

只需使用HttpClient向您要处理传入数据的PHP应用程序端点发出请求,在服务器上发布要使用的数据。您可以以适合您的任何格式发布 - 查询字符串,JSON等。