2012-04-12 6 views
1

Ich versuche, eine Klasse zu implementieren, die Daten von mysql über meinen Web-Service erhält. Ich habe zuvor einen http-Post verwendet, um Informationen aus einer Tabelle zu erhalten, aber dieses Mal habe ich vor, dass ein Benutzer einen String in einen editText eingibt, drücke Search und den textview, um die Abfrage anzuzeigen.Zum Beispiel, es gibt zwei Spalten der mysql-Tabelle : Vor-und Nachname; Ich möchte in der Lage sein, den Nachnamen zu erhalten, indem ich den Vornamen (Eingabe des Vornamens in den EditText und Anzeige des Nachnamens dieser Person) suche. Ich habe das PHP-Skript entwickelt, aber es ist möglich, die HTTP-Get-Methode basierend auf einer Eingabe zu verwenden Schnur? Wie? Ich habe nur Tutorials gesehen, die direkt auf den PHP-Link verweisenHTTP Get-Methode basierend auf Parametern in Java

+0

warum willst du nicht post für das verwenden? –

+0

Ich würde Post verwenden, wenn ich die Tabelle bearbeiten sollte, aber ich möchte nur die Informationen für die Tabelle basierend auf dem Parameter abrufen. Im Grunde wird die Eingabe des editText in eine mysql-Abfrage eingegeben: SELECT Vorname FROM Personen WHERE Vorname = "die in den EditText eingetragene Zeichenfolge" –

+0

jaja das selbe kann mit HttpPost erreicht werden und es wäre sicherlich eine sicherere Option. Sie können immer noch verwenden, wenn Sie nicht für Post gehen möchten. Ich könnte dafür einen Code posten. –

Antwort

0

Dies ist ein Beispiel, wie Sie es tun können, indem Sie NameValuePairs verwenden, die Sie mit einer Post-Anfrage an die PHP-Datei übergeben können.

private void sendData(ArrayList<NameValuePair> data) 
{ 
    // 1) Connect via HTTP. 2) Encode data. 3) Send data. 
    try 
    { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new  
     HttpPost("http://www.blah.com/AddAccelerationData.php"); 
     httppost.setEntity(new UrlEncodedFormEntity(data)); 
     HttpResponse response = httpclient.execute(httppost); 
     Log.i("postData", response.getStatusLine().toString()); 
      //Could do something better with response. 
    } 
    catch(Exception e) 
    { 
     Log.e("log_tag", "Error: "+e.toString()); 
    } 
} 

können nun sagen Sie diese Methode verwenden möchten, Informationen zu übergeben (dh Ihre Parameter an die PHP-Datei.

//Add data to be send. 
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
    nameValuePairs.add(new BasicNameValuePair("parameter",editTextValue)); 
    this.sendData(nameValuePairs); 

nun auf der PHP-Seite der Dinge, die Sie dann diesen Parameterwert erhalten kann Berufung:

//Retrieve the data. 
$parameter = $_POST['parameter']; 
//Now call on your query or function or w/e it is using this parameter. 
0

benutzen Sie kodieren einfach die Werte in das URL, zB

String url = "http://myserver.net/script.php?first=" + URLEncoder.encode(first) + 
      "&last=" + URLEncoder.encode(last); 

Und dann ein HttpGet Objekt mit Httpclient verwenden:

HttpClient client = new DefaultHttpClient(); 
HttpResponse response = client.execute(new HttpGet(url)); 

die Antwort bearbeitet dann als die gleiche ist, wenn Sie es geschrieben hatte.

Verwandte Themen