|
|
|
Android - ขอสอบถาม inner join หน่อยครับ สงสัย ขอคำปรึกษา พอดี ผมไม่ค่อย เก่ง ในเรื่อง พวกนี้เท่าไหร่ |
|
|
|
|
|
|
|
อัพนนี้ code data baseครับ
|
|
|
|
|
Date :
2014-11-27 23:50:29 |
By :
evolutionza3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนพี่ๆหน่อยนะครับ แนะนำหน่อยเน้อ
|
|
|
|
|
Date :
2014-11-28 00:41:24 |
By :
evolutionza3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปลี่ยน รูปภาพเป็น text ดีกว่าครับ ผมอ่านแล้ว ผมก๊อปไม่ได้ ผมก็ขี้เกียจตอบ
จะให้คนอื่นช่วย ก็ช่วยให้คนอื่นเขาทำอะไรง่ายๆ หน่อยเถอะครับ
|
|
|
|
|
Date :
2014-11-28 06:39:30 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันที่จริงพวกนี้ในบทความมีสอนอยู่แล้วน่ะครับ คุณแค่ดึง Data มาแสดงใน ListView และเมื่อคลิกไปอีกหน้าก็ดึงมาจาก ListView อีกที แต่ปัญหามันอยู่ที่ PHP ครับ คุณจะต้องส่งค่าเพื่อไป Query ข้อมูลมาให้อยู่ในรูปแบบ JSON ซึ่งหลังจากนั้นแล้ว Andorid จะดึงมาแสดงบน ListView เองครับ
|
|
|
|
|
Date :
2014-11-28 09:51:40 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-28 06:39:30
รายละเอียดของการตอบ ::
อันนี้เป็นส่วนของง data SQLite ครับ
Code (Android-Java)
class MyDbHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "MYDBSQL";
private static final int DB_VERSION = 1;
public static final String TABLE_COURES = "Coures";
public static final String TABLE_STU = "Student";
public static final String COU_ID = "IDCoures";
public static final String COU_NAME = "CouresName";
public static final String STU_COU = "IDCoures";
public static final String STU_ID = "IDstudent";
public static final String STU_NAME = "studentname";
public static final String STU_LESTNAME = "Studentlastname";
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "+ TABLE_COURES +
"(_idINTEGER PRIMARY KEY, "
+ COU_ID + " TEXT, "
+ COU_NAME + " TEXT);");
db.execSQL("CREATE TABLE "+ TABLE_STU +
"(idINT PRIMARY KEY, "
+ STU_COU + " TEXT, "
+ STU_ID + " TEXT, "
+ STU_NAME + " TEXT, "
+ STU_LESTNAME+ " TEXT);");
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+ TABLE_COURES);
db.execSQL("DROP TABLE IF EXTSTS "+ TABLE_STU);
db.execSQL(SQL_DELETE_ALARM);
onCreate(db);
}
}
อันนี้เป็นส่วนของ หน้า Classlist ที่กดค่าที่ list ออกมาไปอีกหน้า และให้มัน join กันอะครับ ของในรายวิชา กับนักศึกษาในรายวิชานั้นๆ
Code (Android-Java)
public class ClassList extends Activity{
MyDbHelper myHelper;
SQLiteDatabase mDb;
Cursor mCursor;
ArrayList<String> arr_list;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.class_list);
ListView listView1 = (ListView)findViewById(R.id.classlistView1);
myHelper = new MyDbHelper(this);
mDb = myHelper.getReadableDatabase();
mCursor = mDb.rawQuery("SELECT " + MyDbHelper.COU_ID
+ ", " + MyDbHelper.COU_NAME
+ " FROM " + MyDbHelper.TABLE_COURES, null);
arr_list = new ArrayList<String>();
mCursor.moveToFirst();
while ( !mCursor.isAfterLast()){
arr_list.add(mCursor.getString(mCursor.getColumnIndex
(MyDbHelper.COU_ID)));
mCursor.moveToNext();
}
lv = (ListView)findViewById(R.id.classlistView1);
lv.setAdapter(updateListView());
lv.setAdapter(new ArrayAdapter<String>(this
, android.R.layout.simple_list_item_1, arr_list));
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0
, View arg1, int arg2, long arg3) {
Intent intent;
switch(arg2) {
case 0 :
intent = new Intent(getApplicationContext() \\บรรทัดนี้ ผมจองไว้สำหรับ กดในส่วนที่เป็นlist เพื่อให้ไปอีกหน้านึง และจะให้โชว์ที่ join กันแต่ละรายวิชาครับ
, StuList.class);
startActivity(intent);
break;
case 1 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 2 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 3 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 4 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 5 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 6 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 7 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 8 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 9 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
case 10 :
intent = new Intent(getApplicationContext()
, StuList.class);
startActivity(intent);
break;
}
}
ขอโทษ และขอบคุณนะครับ ^^
|
|
|
|
|
Date :
2014-11-28 10:19:29 |
By :
evolutionza3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SQLite ผมก็ตอบไปนู้น PHP/MySQL
|
|
|
|
|
Date :
2014-11-28 10:25:19 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อะโห น่าจะแยกโค๊ดหน่อยนะครับ มันมีตั้งหลาย tag ให้เลือกใช้
แต่ ก็ยังดีกว่าเป้นภาพ เดี๋ยวดูให้นะครับ
|
|
|
|
|
Date :
2014-11-28 10:25:51 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอ structure
ตารางนักศึกษา
ตารางรายวิชา
ตารางนักศึกษาลงเรียนวิชาใดบ้าง
หรือ
ตารางวิชามีนักศึกษาคนไหนลงเรียน
|
|
|
|
|
Date :
2014-11-28 12:13:11 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประวัติการแก้ไข 2014-11-28 21:45:12
|
|
|
|
Date :
2014-11-28 18:33:38 |
By :
evolutionza3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องขอโทษด้วยนะครับ ที่ยังไม่ได้ตอบ ผมเพิ่ง อัพเดท android studio เพิ่งเสร็จ อะครับ ไม่ได้ใช้นานแล้ว ว่าจะเอาไว้ลองโค๊ด
พอดีไม่ค่อยชำนาญ จะตอบไปก็เดี๋ยวจะผิดไปกันใหญ่ เลยจะของลองโค๊ดก่อน
|
|
|
|
|
Date :
2014-11-28 22:08:23 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยหน่อยนะครับ พอดี งานด่วนมาก T^T
|
|
|
|
|
Date :
2014-11-29 14:13:18 |
By :
evolutionza3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูแล้วก็ไม่น่าแก้ยากนะครับ ตอนนี้ปัญหาคืออะไรครับ ?
- ไม่รู้คำสั่งหรือการใช้ inner join ?
- ไม่รู้วิธีการทำ inner join ใน Android ?
- เอาค่าจาก ListView มา inner join ไม่ได้ ?
- ตอนนี้สร้าง Table หรือ Query ข้อมูล ได้แล้ว ?
คือถ้ารู้ว่าปัญหาจุดไหน หรือตรงไหนไม่เข้าใจ จะได้ค่อยๆโฟกัสไปทีละส่วน น่าจะดีกว่านะครับ
จริงๆ ผมดูที่อธิบายมา ก็ยังงงๆกับภาพรวมของแอพอยู่เลย
อ้อ ตรงส่วน Create Table TABLE_COURES ลองเว้น space ตรง _id ซักนิดครับ ไม่งั้น _id มันจะกลายเป็น _idINTEGER และเป็น type STRING ไม่ใช่ INTEGER
และ Table TABLE_STU ก็เหมือนกัน เว้น space และแก้ id => เป็น _id
// **Note** : Coures อันนี้ถ้าหมายถึง Course น่าจะสะกดแบบนี้นะครับ แต่อันนี้มันแค่ตัวแปร จะตั้งไงก็ได้ไม่มีปัญหา
|
ประวัติการแก้ไข 2014-12-01 10:43:54
|
|
|
|
Date :
2014-12-01 10:43:34 |
By :
devahoy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select * from table student where subject_id = your subject ผมไม่เข้าใจว่าคุณจะจอยทำไมครับ แค่คุณส่ง id ของตาราง
วิชามา แล้วเอาเข้าไป where ในตาราง student ด้วย ไอดีของวิชาที่เลือกมาคุณก็จะได้ นักเรียนทั้งหมดของ รายวิชานั้น
แล้วครับ
|
|
|
|
|
Date :
2014-12-02 11:37:01 |
By :
kaisiamza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|