Bonjour,


j'essayais de connecter à ma base de données sous localhost via une application android installée sur tablette afin de récupérer les données sous format JSON.

d'abord,j'ai paramétré Xampp pour que je puisse connecter de l'extérieur en utilisant la tablette et j'ai édité un fichier php qui récupère les données de la base sous ladite format voici le code:

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
<?php
 
try{
	  $bdd= new PDO('mysql:host=localhost;dbname=billy','root','');
  }
  catch(Exception $e)
  {
	  die('erreur'.$e->getmessage());
 
  }
 
$sql="SELECT * FROM user WHERE id='".$_GET['id']."'";
 
$reponse=$bdd->query($sql);
 
while($donnee=$reponse->fetch()){
		$output[]=$donnee;
		print(json_encode($output));
} 
 
	$reponse->closeCursor();
 
 
 
?>
Ensuite,je voudrais récupérer les données sur l'interface de l'application à la place d'une TextView nommée test :

Nom : bil.PNG
Affichages : 708
Taille : 148,1 Ko

tous ça va s'exécuter en appuyant sur le bouton envoyer dont le code de l'action et le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 btnenv=(Button) findViewById(R.id.btnenv);
        btnenv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new JSONTask().execute("http://192.168.1.2/tests/titi.php?id=1");
 
 
            }
        });
voici la classe JSONTask que j'ai appelé :

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
 public class JSONTask extends AsyncTask<String,String, String>
     {
         @Override
 
         protected String doInBackground(String... params) {
 
             HttpURLConnection connection = null;
             BufferedReader reader = null;
             try {
                 URL url = new URL(params[0]);
 
                 connection = (HttpURLConnection) url.openConnection();
                 connection.connect();
                 InputStream stream = connection.getInputStream();
                 reader = new BufferedReader(new InputStreamReader(stream));
                 StringBuffer buffer = new StringBuffer();
                 String line = "";
                 while ((line = reader.readLine()) != null) {
                     buffer.append(line);
 
 
                 }
 
                 return buffer.toString();
             } catch (MalformedURLException e) {
                 e.printStackTrace();
             } catch (IOException e) {
                 e.printStackTrace();
             } finally {
                 connection.disconnect();
             }
 
             try {
                 reader.close();
             } catch (IOException e) {
                 e.printStackTrace();
             }
 
return null;
         }
 
         @Override
         protected void onPostExecute(String result) {
             super.onPostExecute(result);
             json.setText(result);
         }
     }
voici le résultat que je désire obtenu sur l'interface d'application,malheureusement elle est sur mon serveur local:
Nom : Capture.PNG
Affichages : 588
Taille : 52,0 Ko

voici ce que j'obtiens lorsque j'appuie sur le bouton envoyer:

Nom : Capture.PNG
Affichages : 630
Taille : 166,9 Ko.

Merci d'avance pour toute intervention .