【发布时间】:2014-11-22 21:28:03
【问题描述】:
如何从 MySQL 加载特定 id 的数据。我的意思是当我单击 gridview item 1 从 MySQL 加载我需要的这个项目时。目前我有
$objConnect = mysql_connect("localhost","user","pass");
$objDB = mysql_select_db("database");
$strSQL = "SELECT * FROM table";
$objQuery = mysql_query($strSQL);
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
这显然会从该表加载所有内容。但是,如果我想在单击列表 item_1 以加载诸如 select * from table where clickeditem = 1 之类的查询时怎么办?
我想我必须将它发布到 .php 脚本,但如何?
我不知道需要哪一部分 JAVA 代码,如果需要,请告诉我,我会发布。 更新: @覆盖 受保护的无效doInBackground(字符串...参数){ // TODO 自动生成的方法存根
String url = "file.php";
JSONArray data;
try {
resultServer = getJSONUrl(url);
data = new JSONArray(resultServer);
MyArrList = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map;
for(int i = 0; i < data.length(); i++){
JSONObject c = data.getJSONObject(i);
map = new HashMap<String, Object>();
map.put("id", (String)c.getString("id"));
map.put("name", (String)c.getString("name"));
map.put("price", (String)c.getString("price"));
map.put("weight", (String)c.getString("weight"));
// Thumbnail Get ImageBitmap To Bitmap
map.put("ImagePathThum", (String)c.getString("image"));
map.put("ImageThumBitmap", (Bitmap)loadBitmap(c.getString("image")));
// Full (for View Full)
map.put("ImagePathFull", (String)c.getString("image_big"));
MyArrList.add(map);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
用 sql 更新。
$strSQL = "SELECT m.id, name, image, image_big, weight, price
FROM posts m
JOIN packet_r mr
ON m.id = mr.id
WHERE packed_id = 1";
【问题讨论】: