Bonsoir,
J'ai un problème quand j'envoie une requête httppost avec un paramètre ; je n’ai aucune erreur, mais je ne reçois pas la réponse. Alors que quand je mets mon "SELECT..." directement dans le fichier PHP, là je reçois la réponse sur mon Androphone.
voici mon code JAVA pour exécuté ma requête post:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 package tarabbia.mySQL; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.ListActivity; import android.os.Bundle; import android.util.Log; import android.widget.ArrayAdapter; public class Mains extends ListActivity { InputStream is; ArrayList<String> results = new ArrayList<String>(); JSONObject json_data; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getData(); } public void getData() { String result = ""; ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("var", "SELECT * FROM people")); try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://jonathantarabbia.cwebh.org/seance_09/index.php"); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "iso-8859-15")); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ Log.e("log_tag", "Erreur de connexion http "+e.toString()); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); }catch(Exception e){ Log.e("log_tag", "Error converting result "+e.toString()); } try{ JSONArray jArray = new JSONArray(result); for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); results.add((String) json_data.get("id") + " "+ json_data.get("name")+ " " + json_data.get("sex")+ " " + json_data.get("birthyear")); fillList(); } }catch(JSONException e){ Log.e("log_tag", "Error parsing data "+e.toString()); } } public void fillList() { this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results)); } }
voici mon code PHP ou je récupère cette variable
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php require_once "connect.php"; ?> <?php mysql_connect ($host,$user,$pass); mysql_select_db ($db); mysql_query("set names utf8"); $sql = $_POST['var']; $result = mysql_query ($sql) or die(mysql_error()); while( $row = mysql_fetch_assoc ($result) ) { $output[]=$row; } print(json_encode($output)); mysql_close(); ?>
John
Partager