JSON、php和mysql
我努力完成我的项目 这是我的节目JSON、php和mysql,php,android,mysql,json,Php,Android,Mysql,Json,我努力完成我的项目 这是我的节目 import java.util.ArrayList; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activi
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Search extends Activity {
TextView error,br2;
EditText namjal2;
String i,returnString2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
br2=(TextView)findViewById(R.id.berita2);
namjal2=(EditText)findViewById(R.id.namjalSearch);
}
public void clickHandler(View view){
Intent a = null;
switch (view.getId()){
case R.id.find:
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("nama_jalan", namjal2.getText().toString()));
/* String valid = "1";*/
String response = null;
try {
response = CustomHttpClient.executeHttpPost("http://10.0.2.2/android/searchInfo.php", postParameters);
String result = response.toString();
//parse json data
try{
returnString2 = "";
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","id_kepadatan: "+json_data.getInt("id_kepadatan")+
", username: "+json_data.getString("username")+
", nama_jalan: "+json_data.getString("nama_jalan")+
", status: "+json_data.getString("status")+
", tanggal: "+json_data.getString("tanggal")+
", waktu: "+json_data.getString("waktu")+
", keterangan: "+json_data.getString("keterangan")
);
//Get an output to the screen
returnString2 += "\n" + json_data.getString("nama_jalan") + " mengalami "+ json_data.getString("status")+ " pada "+ json_data.getString("tanggal")+ " waktu "+ json_data.getString("waktu")+ " karena "+ json_data.getString("keterangan");
}
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
try{
br2.setText(returnString2);
}
catch(Exception e){
Log.e("log_tag","Error in Display!" + e.toString());;
}
}
catch (Exception e) {
Log.e("log_tag","Error in http connection!!" + e.toString());
}
break;
case R.id.back:
a = new Intent(this, Menu.class);
startActivity(a);
break;
}
}
}
import java.util.ArrayList;
导入org.apache.http.NameValuePair;
导入org.apache.http.message.BasicNameValuePair;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
公共类搜索扩展了活动{
文本视图错误,br2;
编辑文本namjal2;
字符串i,返回字符串2;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
br2=(TextView)findViewById(R.id.berita2);
namjal2=(EditText)findViewById(R.id.namjalSearch);
}
公共无效clickHandler(视图){
意图a=无效;
开关(view.getId()){
案例R.id.find:
ArrayList后参数=新的ArrayList();
add(新的BasicNameValuePair(“nama_jalan”,namjal2.getText().toString());
/*字符串valid=“1”;*/
字符串响应=null;
试一试{
响应=CustomHttpClient.executeHttpPost(“http://10.0.2.2/android/searchInfo.php“,后参数);
字符串结果=response.toString();
//解析json数据
试一试{
returnString2=“”;
JSONArray jArray=新JSONArray(结果);
对于(int i=0;i您从数据库获取的数据不是UTF-8编码,因此json\u encode
返回null
而不是json对象。每当解析json数据时,只要确保(检查是否)数据的单个/数组不是空的。如果不检查它,将抛出空指针异常。请不要在新代码中使用mysql函数。它们不再被维护,并且已经开始了弃用过程。请参见红色框?了解准备好的语句,改为使用PDO或MySQLi-本文将帮助您决定使用哪个。I如果您选择PDO,这里有一个很好的教程。那么我应该编写什么代码来获取JSON对象?您能告诉我应该做什么吗?先生,我将非常感激。在将其添加到$output
之前,请先迭代$row
,然后使用iconv
将您的编码转换为UTF-8
<?php
date_default_timezone_set('asia/jakarta');
$skrg = time();
$tgl = date("dmY",$skrg);
$conn = mysql_connect("localhost","root","");
mysql_select_db("proyek akhir");
$query = "SELECT * FROM kepadatan WHERE nama_jalan = '". $_POST["nama_jalan"]."' AND tanggal ='$tgl'";
$result = mysql_query($query);
while($row=mysql_fetch_assoc($result))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>