- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我正在 android 中做一个客户端/服务器应用程序。我想要做的是从客户端发送数据,然后服务器检索并再次发送给客户端..
例如,我要将项目代码发送到我的服务器,并且我想查询如下内容:
SELECT itemname FROM items WHERE itemcode = :itemcode
$itemname = $result['itemname'];
其中 :itemcode 是我的客户端传递的数据。接下来,在传递项目代码后,我想使用项目名称包含在下一个查询中以检索所有其他记录。
SELECT itemsize, itemmeasure FROM itemsdetail WHERE itemname = :itemname
因此它显示了所有记录。
到目前为止我已经尝试过,我创建了另一个表来查询最后插入的数据。但我认为这效率不高。我只想将查询放入一个 php 文件中。
<?php
include('dbconnect.php');
$sql = "SELECT itemname FROM items ORDER BY _id DESC LIMIT 1";
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$itemname = $result['itemname'];
$sql = "SELECT itemsize, itemmeasure
FROM itemsdetail
AND itemname = :itemname";
$stmt = $conn->prepare($sql);
$stmt->execute(array(':itemname' => $itemname));
$set = array();
while($r = $stmt->fetchAll(PDO::FETCH_ASSOC)){
$set = $r;
}
header('Content-type: application/json');
echo json_encode($set);
?>
Java:
@Override
protected Void doInBackground(Void... params) {
// Create the array
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Objects from the given website URL in JSONfunctions.class
String result = JSONFunctions.getJSONfromURL(URL);
try {
JSONArray jr = new JSONArray(result);
for(int i=0;i<jr.length();i++)
{
HashMap<String, String> map = new HashMap<String, String>();
jb = (JSONObject)jr.get(i);
map.put(TAG_ITEMSIZE, jb.getString(TAG_ITEMSIZE));
map.put(TAG_ITEMMEASURE, jb.getString(TAG_ITEMMEASURE));
arraylist.add(map);
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
到目前为止,如果我将两个查询放在一个 PHP 文件中,我会收到错误,我不知道出了什么问题。所以我的替代解决方案是创建另一个 php 文件来接收从客户端传递的数据。但我知道这不是一个好的解决方案。我需要能够将其放入一个 php 文件中以传递我的数据,并在我的第二个查询中使用传递的数据。您有任何想法如何做到这一点吗?对你的帮助表示感谢。谢谢。
最佳答案
在 Google Plus 上聊天后,根本原因是您使用 JSONParser 的教程。 JSONParser 看起来像是第三方 API,恶心……
您正在从服务器返回一个数组,而不是导致问题的对象。以下是 Google Plus 上分享的实现代码
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL);
try {
// Building Parameters
List<NameValuePair> params1 = new ArrayList<NameValuePair>();
params1.add(new BasicNameValuePair(TAG_VANCODE, "VAN-ABC"));
// Set HTTPPOST with your parameters
httppost.setEntity(new UrlEncodedFormEntity(params1));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
// Setup an InputStream to handle the response.
InputStream ips = response.getEntity().getContent();
BufferedReader buf = new BufferedReader(new InputStreamReader(ips,"iso-8859-1"), 8);
// Use a reader to read the data and store it in a String builder
StringBuilder sb = new StringBuilder();
String s;
while(true) {
s = buf.readLine();
if(s==null || s.length()==0)
break;
sb.append(s);
}
buf.close();
ips.close();
System.out.println("I AM HERE TESTING OUTPUT - " + sb.toString());
// Take the JSON and create an array
// sb.string should look like this
JSONArray jr = new JSONArray(sb.toString());
for(int i = 0; i<jr.length(); i++) {
JSONObject jo = jr.getJSONObject(i);
System.out.println("Document Number " + jo.getString("doccumentnumber"));
System.out.println("Item Code: " + jo.getString("itemcode"));
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
关于php - Android从客户端发送数据,服务器检索并再次发送给客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21508481/
之前有人问过这个问题,但是当移动到具有相反字节序的平台(在这种情况下从大到小)时,我仍然对如何处理位域结构感到有些困惑。所以如果我有这个: typedef struct { unsigned
我之前问过这个问题here , 但它被标记为重复并已关闭。不幸的是,我被指出的答案不起作用.... 所以,再次: 我可以生成一个像这样的 eCharts4r 仪表 library(echarts4r)
关于 .NET 中对不可为空引用类型的支持存在很多问题。最大的希望是代码契约,但它仅限于对预算有限的人进行运行时检查。 对于代码契约以外的方法,Jon Skeet 写了一篇 blog post几年前,
当我通过将终止标志设置为true来停止线程'srch_slave_thread'时,(srch_slave_thread.terminate)释放线程的线程停止在析构函数的'inherited'行中,
We know that Windows 使用 CR + LF 对作为换行符,Unix(包括 Linux 和 OS X)使用单个 LF,而 MacOS 使用单个 CR。 这是否意味着 C 和 C++
This other SO question询问 WPF 中的自动完成文本框。有几个人已经构建了这些,其中给出的答案之一表明 this codeproject article . 但我还没有找到任何与
这个问题对我来说就像是噩梦的重演。该项目是使用 gpt3 训练聊天机器人,我正在试验嵌入。 我有文档,我正在尝试为不同的部分创建嵌入。根据我的测试,getEmbeddings() 似乎返回了一个值。但
我收到数据读取器初始化错误。我知道这个问题以前已经回答过很多次了,但这些案例似乎不适合我的情况。错误消息开头为“执行读取器:连接属性尚未初始化。” 程序: using System; using Sy
我知道这个问题已被多次询问和回答,但我正在抓狂,因为所提出的解决方案似乎都不起作用。 尽管有一个有效的配置文件,据我所知,它与 bundle 标识符匹配,但我收到了上述错误: 我已按照本网站上各种建议
所以我有一个小问题 这是我的文字 AFTER_2011/03/01 GREATER_2004_NOT 我想要 AFTER 和 GREATER,所以我有以下正则表达式: [A-Z]{2,}\\B 一开始
这个问题对我来说就像是噩梦的重演。该项目是使用 gpt3 训练聊天机器人,我正在试验嵌入。 我有文档,我正在尝试为不同的部分创建嵌入。根据我的测试,getEmbeddings() 似乎返回了一个值。但
我目前正在做具有图形功能的计算器应用程序。然后,我在我的计算器中有这个按钮,并将它连接到我的 Calculator2ViewController 上。此外,我将此按钮连接到另一个名为 GraphVie
昨天,我尝试以一种方式执行此操作...今天我尝试另一种方式,但仍然卡住了。我必须找到一种使用整数除法和取模来做到这一点的方法。这是我的代码,后面是错误消息。 public int evaluateFr
我大致正在处理以下内容: var i; var k = 5; $('document').ready(function () { $('#someElement').click(functio
又是realloc的问题。看来我在之前的很多realloc语句中都没有发现类似的问题。我将不胜感激您的兴趣。 我正在尝试读取格式的文本输入: g:;0,1,0,1,0 。我在源文本文件中有一组这种格式
我不知道为什么下面会给我:*“error LNK2001: unresolved external symbol 'struct Win32Vars_t win32' (?win32@@3UWin32
又是我。在我所有的问题中,我认为这是所有问题中最愚蠢的,但由于疲劳或愚蠢,我也需要一些帮助。然而,最重要的是,我这样做是为了我的一项任务,并且有一个严格的规则 - 我必须使用一个函数调用 char*
在 Ubuntu 14.04.5 上运行 MySql 5.5.53。当从文本文件导入数据时(加载数据 infil $FIL INTO TABLE &c),我收到可怕的提示,因为 secure_file
我在 Stackoverflow 中找到了大量关于如何选择组中第一行和最后一行的示例,但我无法根据需要调整它们。唉,我对 MySQL 的有限了解无济于事。 一些数据(date_time、val1 和
我遇到错误“连接必须有效并再次打开,当我更改我的 sql 查询代码时。任何人都可以帮忙吗??(编辑)在 form1 中我已经连接到数据库,在 form2 中我试图添加查询。 //IN Class1.c
我是一名优秀的程序员,十分优秀!