Autore Topic: problema passaggio dati mysql-app  (Letto 591 volte)

Offline MikeKeepsOnShine

  • Utente junior
  • **
  • Post: 84
  • Respect: 0
    • mikekeepsonshine
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Fame , Samsung Galaxy Tab 2 7.0
  • Sistema operativo:
    Windows 7
problema passaggio dati mysql-app
« il: 06 Dicembre 2012, 16:26:17 CET »
0
hi there. Ho un problema riguardante un passaggio di dati dalla mia app ad un mysql DB.
Devo stampare a video le prenotazioni dell'utente che ha effettuato il login. Il recupero del suo id è a posto, ma quando provo a stampare le visite, la text view è vuota.
La query che uso funziona, l'ho provata sul browser(cambiando nel .php $_POST con $_GET), quindi il problema sta nel .java.
E' come se l'id che voglio passare via post non venga passato.

.java:
Codice (Java): [Seleziona]
@Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_calendario);
               
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);
               
                app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
               
                LoginClass ID_P =  ((LoginClass)getApplicationContext());
                id_user = ID_P.getID();
                Log.d("id_w?",id_user);
               
               
                text = (TextView) findViewById(R.id.text_pren);
                fill_text();
               
        }
       
        private void fill_text(){
               
                try{
                        httpclient = new DefaultHttpClient();
                        httppost = new HttpPost("******MY_URI*********");
                        response = httpclient.execute(httppost);
                        prenotazione = new ArrayList<NameValuePair>(1);
                        prenotazione.add(new BasicNameValuePair("id_user",id_user));
                        httppost.setEntity(new UrlEncodedFormEntity(prenotazione));
                        Log.d("gladdi",prenotazione.toString());
                        HttpEntity entity = response.getEntity();
                        inputStream = entity.getContent();

                       
                        }
                        catch (Exception e){
                    Toast.makeText(CalendarioActivity.this, "error"+e.toString(), Toast.LENGTH_LONG).show();
                }
                                if(inputStream != null){
                                Log.d("glad2",id_user);
                                try{
                                        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"),8);
                                        StringBuilder sb = new StringBuilder();
                                        String line = null;
                        while ((line = reader.readLine()) != null) {
                                sb.append(line + "\n");
                        }
                        inputStream.close();
                        result = sb.toString();
                       
                        Log.d("sort",result);
                                }catch(Exception e){
                        Log.e("TEST", "Errore nel convertire il risultato "+e.toString());
                                        }
                        try{
                                JSONArray jArray = new JSONArray(result);
                                prenotazioni = "";
                                for(int i=0;i<jArray.length();i++){
                                        JSONObject json_pren = jArray.getJSONObject(i);
                                        result_string = "Prenotazione in data "+json_pren.getString("data")+", "+json_pren.getString("dettagli")+"\n\n";
                                        prenotazioni = prenotazioni + result_string;
                                        }
                                }catch(JSONException e){
                            Log.e("log_tag", "Error parsing data "+e.toString());
                                                }      
                        }else{
                                //do nothing
                        }
               
                                text.setText(prenotazioni);
        }//end fill_text()

e quello .php:
Codice: [Seleziona]
<?php

        require_once('./mm_db_config.php'); mysql_select_db($database_localhost,$localhost);
       
        if(isset($_POST['id_user'])){
       
        $id_user = $_POST['id_user'];
       
        $query_search="SELECT mm_pren_visite.data , mm_tipologia_visita.dettagli FROM mm_pren_visite JOIN mm_tipologia_visita ON mm_tipologia_visita.id_tipologia_visita = mm_pren_visite.id_tipologia_visita WHERE mm_pren_visite.id_user=$id_user";
       
        $resultQuery = mysql_query($query_search) or die(mysql_error());
        $resultArray = array();
        $array_first = array();
       
       
       
        $i=0;
        while ($resultArray = mysql_fetch_assoc($resultQuery)) {
               
                $array_first[] = $resultArray;
                $tmp = explode(' ',$array_first[$i]['data']);
                $data = explode('-',$tmp[0]);
                $time = explode(':',$tmp[1]);
                $data_final = $data[2].'-'.$data[1].'-'.$data[0]." alle ore ".$time[0].':'.$time[1];
                $array_first[$i]['data'] = $data_final;
               
                $i++;
        }
        echo json_encode($array_first);
       
        }else{
               
                echo "NO";
                }
       
?>

Come ho già detto il problema parrebbe essere nel .java. Qualcuno mi può aiutare?

ps: spero di essere stato chiaro ma sto andando di fretta! :D
True perfection has to be imperfect

Offline MikeKeepsOnShine

  • Utente junior
  • **
  • Post: 84
  • Respect: 0
    • mikekeepsonshine
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Fame , Samsung Galaxy Tab 2 7.0
  • Sistema operativo:
    Windows 7
Re:problema passaggio dati mysql-app
« Risposta #1 il: 06 Dicembre 2012, 16:53:57 CET »
0
Niente risloto ...
Invece di fare così
Codice (Java): [Seleziona]
    response = httpclient.execute(httppost);
    prenotazione = new ArrayList<NameValuePair>(1);
    prenotazione.add(new BasicNameValuePair("id_user",id_user));
    httppost.setEntity(new UrlEncodedFormEntity(prenotazione));

dovevo fare questo
Codice (Java): [Seleziona]
    prenotazione = new ArrayList<NameValuePair>(1);
    prenotazione.add(new BasicNameValuePair("id_user",id_user));
    httppost.setEntity(new UrlEncodedFormEntity(prenotazione));
    response = httpclient.execute(httppost);

svista epocale ...
True perfection has to be imperfect