2014-11-22 1 views
0

Как загрузить данные из MySQL для определенного идентификатора. Я имею в виду, когда я нажимаю элемент gridview item 1, чтобы загрузить то, что мне нужно для этого элемента из MySQL. В настоящее время у меня естьКак отправлять и получать данные из MySQL для определенного id из приложения android

$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 необходима, поэтому, пожалуйста, скажите мне, если вам нужно, и я отправлю его. Обновлено: @Override защищен Пустота doInBackground (String ... PARAMS) { // TODO Auto-генерироваться метод заглушки

 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; 
    } 

UPDATE с 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"; 

ответ

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; 

по вашей ссылке с переменную, которая должна быть задана при щелчке по конкретному элементу сетки.

+0

Спасибо за ответ, но я не уверен, что я тебя понимаю. Я обновил свой вопрос со стороны Java, где я делаю запрос к DB – Goro

+0

, добавил также текущий 'sql query', поэтому мне нужно получить этот элемент gridview в предложении WHERE. – Goro

+0

Эта переменная в моем случае будет 'map.put (" id ", (String) c.getString (" id ")) ;, но как поместить ее в ссылку в части JAVA? – Goro

Смежные вопросы