|
|
|
ขอสอบถามเรื่อง android เชื่อมต่อกับ php แล้วข้อมูลไม่มาเกิดจากอะไรครับ |
|
|
|
|
|
|
|
Code (Java)
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_homepage) {
// Handle the camera action
Thread myThread = new Thread(){
@Override
public void run(){
try {
sleep(0);
Intent intent = new Intent(getApplication(),SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
finish();
}catch (InterruptedException e){
e.printStackTrace();
}
}};
myThread.start();
} else if (id == R.id.nav_holiday) //วันหยุด
{
Thread myThread = new Thread(){
@Override
public void run(){
try {
sleep(0);
Intent intent = new Intent(getApplication(),SchoolHolidayActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
finish();
}catch (InterruptedException e){
e.printStackTrace();
}
}};
myThread.start();
} else if (id == R.id.nav_leave) //ลา
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}else if (id == R.id.nav_student)//นักเรียน
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}
else if (id == R.id.nav_result) //สรุป
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}
else if (id == R.id.nav_gradeAdd)//เพิ่มเกรด
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}
else if (id == R.id.nav_grade)//เกรด
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}
else if (id == R.id.nav_inout) //เวลาเข้าออก
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}
else if (id == R.id.nav_password)//เปลี่ยนรหัสผ่าน
{
Intent intent = new Intent(this,SchoolIndexActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
String email = getIntent().getExtras().getString("email");
String Database = getIntent().getExtras().getString("database");
//Toast.makeText(context,"Email "+email,Toast.LENGTH_LONG).show();
intent.putExtra("database", Database);
intent.putExtra("email", email);
startActivity(intent);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
นี้ส่วน php
Code (PHP)
<?php
require 'config.php';
$email = $_REQUEST['email'];
$Database = $_GET['database'];
$Database = "comccc";
//holiday
//echo $Database;
mysql_select_db('ohotime_'.$Database);
//echo 'ohotime_'.$Database;
$sql = "SELECT * FROM `car` ";
$result = mysql_query($sql);
$numrow1 = mysql_num_rows($result);
while( $value = mysql_fetch_array($result)){
$name[]= $value;
}
//$res = array($name, $object);
echo json_encode($name);
ปล.เหมือนกับข้อมูลจะไม่ได้ถูกส่งไปครับ
Tag : Mobile
|
|
|
|
|
|
Date :
2017-11-17 15:49:49 |
By :
topfoxzero |
View :
1049 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี Error ไหม๊ครับ หรือไม่ลอง Debug ดู ครับ
|
|
|
|
|
Date :
2017-11-17 17:38:31 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีเลยครับ รันได้ปกติ แต่ให้ android ส่งข้อมูลไปยัง php แล้วรับค่าจาก php มาแสดงไม่ออกมาครับ แต่ถ้า กำหนดตัวแปรให้กับphp จะออกมีข้อมูลแสดงครับ
|
|
|
|
|
Date :
2017-11-18 00:45:49 |
By :
topfoxzero |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำให้ส่งในลักษณะ API
-----------------------------------------------------------------------------------------------
ยกกรณีเกรด และเป็นขารับมา
//รับค่า
Bundle extras = getIntent().getExtras();
String getDatabase = extras.getString("Database");
String getEmail = extras.getString("email");
//ส่งค่าไปให้ API
String url = "urlของไฟล์api";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("method", "gpacon"));
params.add(new BasicNameValuePair("Database", getDatabase));
params.add(new BasicNameValuePair("email", getEmail));
String resultServer = getJSON(url,params);
//นำค่ามาใช้งาน
Code
JSONArray data = new JSONArray(getJSON(url,params));
JSONObject c = data.getJSONObject(0);
String re_database = c.getString("database_set");
String re_email = c.getString("email_set");
//นำเอา re_database,re_email ไปใช้งานต่อได้ การประกาศเป็นแบบ public,private,protected มีผลต่อการนำไปใช้งาน
//-------Function getJSON ส่งค่าแบบ POST (เฉพาะ http ไม่รองรับ https)-------------------------
public String getJSON(String url,List<NameValuePair> params) {
StringBuilder str = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
try {
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = client.execute(httpPost);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader_buffer = new BufferedReader
(new InputStreamReader(content));
String line;
while ((line = reader_buffer.readLine()) != null) {
str.append(line);
}
} else {
Log.e("Log", "Failed to download file..");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return str.toString();
}
---------------------------------------------------------------------------------------
ส่วนของ PHP (อ้างอิงตาม จขกท)
Code (PHP)
<?php
header("Content-type: application/json");
header("content-type:text/javascript;charset=utf-8");
//รับค่าแบบ POST
if(is_array($_POST) ){
foreach($_POST as $k => $v ){
$ar[$k] = rawurldecode($v);
}
}
//ตรวจสอบค่า
switch($ar["method"])
{
//ชื่อmethod
case "gpacon":
$gpaObj = new grade();
//ส่ง Database,email ไป function gpa
// gpa(ชื่อตัวแปรที่ส่งมา1,ชื่อตัวแปรที่ส่งมา2)
echo $gpaObj->gpa($ar["Database"],$ar["email"]);
break;
}
//สร้าง Class
class grade
{
function gpa($par_database,$par_email){
require_once "config.php";
$Database = $par_database;
mysql_select_db('ohotime_'.$Database);
$sql = "SELECT * FROM `car` ";
$result = mysql_query($sql);
while($value = mysql_fetch_array($result)){
$name[] = array(
"database_set"=>$value["ชื่อฟิลล์1"] //ตัวแปร=>ค่า
,"email_set"=>$value["ชื่อฟิลล์2"] //ตัวแปร=>ค่า
);
}
$lc_json = json_encode($name);
mysql_close();
return json_encode($lc_json);
}
}
// จะคืนค่า database_set,email_set
?>
ปล1.ปกติผมเข้ามาเอาความรู้อย่างเดียวตั้งแต่สมัยผมเรียนปี 1 จนทำงานแล้วเลยอยากคืนความรู้บางส่วนให้รุ่นต่อไปนำไปประยุกต์ต่อได้ครับ
ปล2. การต่อแบบ httpPost แบบในตัวอย่างเป็นการต่อแบบเก่า
|
ประวัติการแก้ไข 2017-11-24 15:38:30
|
|
|
|
Date :
2017-11-24 12:22:02 |
By :
thanapun.na |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|