Autore Topic: Return dei risultati di una query effettuata su php  (Letto 3730 volte)

Offline noiseimpera

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy II
  • Sistema operativo:
    MacOSX
Return dei risultati di una query effettuata su php
« il: 02 Luglio 2012, 11:09:44 CEST »
0
Ciao a tutti. La mia applicazione deve interrogare un database di tipo MySql e lo fa attraverso una pagina php.
Il mio dubbio è: qual'è la corretta sintassi per la restituzione di valori da php alla mia applicazione?
Dunque, esiste la possibilità di leggere le variabili dichiarate (e quindi "riempite") su php direttamente dal codice della mia app?
Perchè ho guardato un pò di esempi, anche su questo forum, e non ho chiaro il concetto.

Grazie

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Return dei risultati di una query effettuata su php
« Risposta #1 il: 02 Luglio 2012, 11:21:15 CEST »
0
Non ho esperienza diretta, ma dai thread che mi è capitato di leggere, un po' tutti consigliano di usare JSON.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline noiseimpera

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy II
  • Sistema operativo:
    MacOSX
Re:Return dei risultati di una query effettuata su php
« Risposta #2 il: 02 Luglio 2012, 11:26:45 CEST »
0
Si, a quanto pare sì. Proprio adesso mi sono imbattuto in un post interessante e molto chiaro. Di seguito il link:
http://www.anddev.it/index.php/topic,6388.0.html

Offline Andrea°Dev

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Sony XPeria S
  • Sistema operativo:
    Windows 7
Re:Return dei risultati di una query effettuata su php
« Risposta #3 il: 02 Luglio 2012, 11:41:57 CEST »
0
Si è possibile.
Sia in java che in android.
Come ha detto bradipao devi usare JSON, ma se il ritorno della pagina php è una sola variabile puoi utilizzare una semplice echo.
Ti posto il codice che ho utilizzato in una mia app in android (spero ti sia d'aiuto ^^):
Codice (Java): [Seleziona]
Connecter conn = new Connecter();
            Risposta1 = conn.Connect("parametri da passare alla pagina php");

Classe Connecter:
Codice (Java): [Seleziona]
class Connecter{

public int Connect(String parametro) throws IOException {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);    
nameValuePairs.add(new BasicNameValuePair("nomeparametro", paametro));
try {
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
ResponseReader reader= new ResponseReader(httpclient.execute(httppost));
int Risp = reader.getResponse();
return Risp;
}

class ResponseReader {
   
    BufferedReader breader;
    ResponseReader(HttpResponse resp) throws IllegalStateException, IOException {
            breader = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
    }
    int getResponse() throws IOException {
            String svrresp = breader.readLine();
            return Integer.parseInt(svrresp); // se il ritorno della pagina php è un intero
            return svrresp.toString();         // se il ritorno è una stringa
    }

}}

Se hai bisogno di chiarimenti o del codice java contattami.  ;)

Ciao, Andrea

Offline noiseimpera

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy II
  • Sistema operativo:
    MacOSX
Re:Return dei risultati di una query effettuata su php
« Risposta #4 il: 02 Luglio 2012, 11:46:35 CEST »
0
Ciao andrea, grazie mille per la disponibilità. Già che ci sei potresti postare anche il file php in cui restituisci i risultati della query.
Ad ogni modo il ritorno della pagina php nella mia applicazione non è di una sola variabile.
Grazie ancora

Offline domenicozinzi

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • http://www.linkedin.com/pub/domenico-zinzi/37/75a/958
    • thedom85
    • Mostra profilo
  • Dispositivo Android:
    HTC Wildfire
  • Sistema operativo:
    Windows -Linux
Re:Return dei risultati di una query effettuata su php
« Risposta #5 il: 02 Luglio 2012, 12:40:52 CEST »
0

Per eventuali sviluppi futuri puoi pensare di creare un  servizion json o xml in php :)
Magari un servizion web   :)

http://www.electrictoolbox.com/json-data-jquery-php-mysql/

Offline noiseimpera

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy II
  • Sistema operativo:
    MacOSX
Re:Return dei risultati di una query effettuata su php
« Risposta #6 il: 03 Luglio 2012, 10:57:27 CEST »
0
ho impostato la connessione come Andrea mi ha suggerito. A quel punto il mio php riesce a restituirmi la stringa ma non quella da me desiderata. Questo è il messaggio che php mi genera e mi restituisce:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

Per completezza allego la pagina php incaricata di effettuare la query.

Codice: [Seleziona]
<?php
session_start();
include("include/connessioneDB.inc");
include("include/include_msg_errore.inc");
include("include/includeFunctionTools.inc");
include("include/include_queryDB.inc");


$objConn=new connessioneDB();
$conn= $objConn->get_conn();
               
$VarImei=$_POST["imei"];
if ($VarImei==""){
        $VarImei=$_GET["imei"];
}

if (VarImei<>"")
{
        $sql="Select Nome,Cognome,Matricola FROM Tab_Anagrafica_Utenti WHERE Imei='$VarImei' limit 1";
        $stmt=mysql_query(($sql),$conn) or die("Impossibile inserire: " . mysql_error());
       
        while($e=mysql_fetch_array($stmt))
        $output[]=$e;
print(json_encode($output));
}



        $objConn->close($conn);
       
?>
       
« Ultima modifica: 03 Luglio 2012, 11:24:40 CEST da noiseimpera »

Offline noiseimpera

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy II
  • Sistema operativo:
    MacOSX
Re:Return dei risultati di una query effettuata su php
« Risposta #7 il: 04 Luglio 2012, 10:33:44 CEST »
0
Ho risolto, c'erano dei problemi nella connessione col server(indirizzo sbagliato).
Piuttosto, è sorto un nuovo problema: quando passo la stringa rispdel tipo
Codice: [Seleziona]
{"Nome":"Paolo", "Cognome":"Rossi", "Matricola":"123456"} al costruttore  JSONObject così

Codice: [Seleziona]
JSONObject json=new JSONObject(risp);
JSONArray nameArray=json.names();
JSONArray valArray=json.toJSONArray(nameArray);

mi viene restituita una eccezione
 
Codice: [Seleziona]
org.json.JSONException: Value Rossi at 0 of type java.lang.String cannot be converted to JSONObject Ovviamente ci sarà qualche problema nella sintassi. dove sbaglio?
« Ultima modifica: 04 Luglio 2012, 11:20:21 CEST da noiseimpera »