【问题标题】:How to post and take data from MySQL for specific id from android app如何从 MySQL 发布和获取来自 Android 应用程序的特定 ID 的数据
【发布时间】: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";

【问题讨论】:

    标签: php android mysql


    【解决方案1】:

    如果我正确理解您的问题,您确实需要将其发布到 php 脚本中。这很容易:

    static String url = "https://yourlink.com/database.php?clickeditem=1";
    

    然后你可以像这样编辑你的php代码:

    $clickeditem = $_GET['clickeditem'];
    $strSQL = "SELECT * FROM table WHERE clickeditem = '$clickeditem'";
    

    要在您的 java 代码中编辑它,只需添加:

    "https://yourlink.com/database.php?clickeditem=" + variable;
    

    到您的链接,其中包含单击特定 gridview 项目时要设置的变量。

    【讨论】:

    • 感谢您的回答,但我不确定我是否理解您。我已经用我向 DB 提出请求的 Java 部分更新了我的问题
    • 还添加了当前的sql query,所以我需要在 WHERE 子句中获取该 gridview 项。
    • 这个variable在我的情况下将是map.put("id", (String)c.getString("id"));但是如何把它放在JAVA部分的链接中?
    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 2019-08-24
    • 2021-03-03
    相关资源
    最近更新 更多