Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > [PHP] อยากเขี้ยนโค้ดให้ตรวจสอบข้อมูลที่ขาดไปครับ รบกวนด้วย



 

[PHP] อยากเขี้ยนโค้ดให้ตรวจสอบข้อมูลที่ขาดไปครับ รบกวนด้วย

 



Topic : 111340



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนหน่อยครับ

ผมอยากเขียนโค้ดสำหรับตรวจสอบว่ามีสาขาไหน ของวันที่เท่าไหร่ ในตารางข้อมูลยังไม่ถูกบันทึกลงไปครับ ( ประมาณว่ามีทั้งหมด 200 สาขา ส่งมาแล้ว 190 อยากให้แสดงว่า 10 สาขาทั้ยังไม่ส่งมีอะไรบ้าง )


อันนี้ตารางที่เก็บข้อมูลครับ

exam1

ตารางนี้จะเก็บยอดแต่ละวันผ่านฟอร์ม ซึ่งผมอยากเช็คว่าสาขาไหน ของวันอะไรในตารางนี้ยังไม่ถูกบันทึกข้อมูล


เบื้องต้น ผมใช้ตารางที่อ้างอิงสิทธิ์ในการบันทึกข้อมูลในการตรวจสอบว่าสาขาไหนยังไม่ถูกส่งข้อมูล

- ตารางนี้จะระบุว่า user คนไหนบันทึกงานสาขาอะไรได้บ้าง
- user 1 คนเก็บงานได้ไม่เท่ากัน ( บางคนก็ 3 บางคนก็ 7 สาขาเลย )

exam2

ลองทำแบบมังง่าย โดยอิงไอดีจาก user_id แล้วเอารหัสสาขาในตารางแรก มาเทียบกับตารางสอง ถ้าอันไหนไม่มีคู่ให้ echo ตัวนั้นออกมา ซึ่งติดปัญหาคือ ไม่รู้ว่าค่าที่ดึงมามันของวันอะไร?

รบกวนชี้แนะด้วยครับ



Tag : PHP, MySQL, HTML/CSS, CakePHP, Web (ASP.NET), Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-09-16 08:49:22 By : nimirue View : 1343 Reply : 12
 

 

No. 1



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


สมมติฐานเบื้องต้น daily จะมี วันที่ ครบทุกวัน
สมมติฐานที่สอง คุณต้องมีตารางสาขา store ผมตั้งเองเลย เพราะไม่ได้บอกมา มี 2 field storecode, name
สมมติฐานที่สาม ความสัมพันธ์ของตาราง ข้อสามนี้ไม่มี เดาไม่ถูก จบข่าว ทำอะไรไม่ได้ 5555


ลองนำมาจอยกัน แล้ว where field is null ดูครับ








ประวัติการแก้ไข
2014-09-16 12:08:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 12:05:59 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-16 12:05:59
รายละเอียดของการตอบ ::
สมมติฐานเบื้องต้น daily จะมี วันที่ ครบทุกวัน
= มีครับแต่มีเฉพาะสาขาที่ถูก input เข้าไป ( มี 5 สาขา input ไป 4 ก็จะมีวันที่ติดไปให้ 4 สาขาที่ใส่ 5 ไม่นับ )

สมมติฐานที่สอง คุณต้องมีตารางสาขา store ผมตั้งเองเลย เพราะไม่ได้บอกมา มี 2 field storecode, name
= มีครับผม แต่กรณีนี้ผมเอาตาราง 2 มาใช้ เพราะมันมีรหัสสาขา + ผู้รับผิดชอบอยู่แล้ว เลยเอาตัวนี้เป็นหลัก

สมมติฐานที่สาม ความสัมพันธ์ของตาราง ข้อสามนี้ไม่มี เดาไม่ถูก จบข่าว ทำอะไรไม่ได้ 5555
= ตาราง 2 จะเป็นตัวกำหนดว่าuser ไหนใส่ข้อมูลสาขาอะไรได้บ้าง ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 14:02:55 By : nimirue
 

 

No. 3



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


คือผมเขียน โค๊ดโดยไม่รู้ความสัมพันธ์ไม่ได้ครับ

ความต้องการคือ branch_id, date where daily_id is null


date มาจากไหน ถ้าไม่คียเข้า ก็ต้องคิวรี่เอาจาก daily (และวันที่ ควรจะครบ เพราะคงไม่มีวันไหน ที่ทุกสาขาสไตค์ไม่นำเข้าข้อมูลพร้อมกัน)
อันนี้มี ใช้ได้

id สาขา สามารถ คิวรี่จาก linework ได้ แต่ linework มันเยอะ อยากให้เร็ว ก็ต้องคิวรี่จาก ตารางสาขา เอามาด้วย อย่างก 55555
อันนี้มีแต่ทำงานช้า

ความสัมพันธ์ของ daily กับ linework เห็นแค่ user_id แต่ผมไม่รู้ว่า field daily อัน ไหน สัมพันธ์ กับ สาขา อันนี้สำคัญ ไม่รู้ทำไม่ได้
อาจจะมี แต่อ่านชื่อฟีลด์แล้วไม่สื่อ เดาไม่ถูกว่าสัมพันธ์กันหรือเปล่า ทำโค๊ดไม่ได้

เอาเป็นสมมติว่า code คือ สาขาก็แล้วกัน 555 เดาเอานะถ้าผิดก็ไปแก้เอาเอง

อันนี้แบบช้าเพราะไม่รู้ตาราง สาขา

Code (SQL)
select tmp.`date`, tmp.code, daily.daily_id 
from( select code, `date` from daily group by code, `date` ) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null


ปล. date เอา backquote ครอบ ด้วยนะครับ เป็น คำพิเศษ


ประวัติการแก้ไข
2014-09-16 15:25:59
2014-09-16 15:28:34
2014-09-16 15:30:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 15:24:22 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-16 15:24:22
รายละเอียดของการตอบ ::
ผมเข้าใจที่พี่พยายามบอกละ ผมก็ลืมไป โทดทีครับ = =''

exam 4

อันนี้ตารางสาขาครับ storecode ตารางนี้จะสัมพันธ์กับ storecode ในตาราง 2

แล้วก็อย่างที่พี่เดาครับ code ใน daily สัมพันธ์กับ storecode ครับ

อ่านๆไปผมยังมองไม่ออกครับ ตรงพี่คิวรี่ดึง date มายังไง ตรงนี้ยังจับทางไม่ได้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 16:50:28 By : nimirue
 


 

No. 5



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ขอดูหน้าผลลัพธ์ที่ต้องการหน่อยครับ ว่าจะออกมาหน้าตาเป็นยังไง???
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 18:11:28 By : {Cyberman}
 


 

No. 6



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


แก้ไขโค๊ดหน่อย พอดีรีบไปรับลูกสาว
และ ได้ ตาราง store มาด้วย ก็จบล่ะ

Code (SQL)
select tmp.`date`, tmp.code, daily.daily_id 
from 
(
	select d1.storecode code, d2.`date` 
	from store d1 , (select `date` from daily group by `date` ) d2 
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 18:25:58 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-16 15:24:22
รายละเอียดของการตอบ ::
โค๊ดคห นี้ผิด group by 2 อันไม่ได้ ต้องแยก กัน


select tmp.`date`, tmp.code, daily.daily_id
from( select code, `date` from daily group by code, `date` ) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null

แก้เป็น

Code (SQL)
select tmp.`date`, tmp.code, daily.daily_id 
from 
(
	select d1.code, d2.`date` 
	from ( select code from daily group by code ) d1 , (select `date` from daily group by `date` ) d2 
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null


อันนี้ในกรณีไม่มีตารางสาขา แต่มีแล้ว ก็ใช้ ของ คห 6 เร็วดี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 18:33:59 By : Chaidhanan
 


 

No. 8



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : {Cyberman} เมื่อวันที่ 2014-09-16 18:11:28
รายละเอียดของการตอบ ::
หน้าตาอยากให้แจ้งว่า มีข้อมูลสาขาไหน ของวันอะไรบ้างที่ยังไม่ถูกบันทึกน่ะครับ ( โชว์เป็นลิสต์ บอกเป็นสาขา แต่ละวันไปน่ะครับ


ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-16 18:33:59
รายละเอียดของการตอบ ::
ขอไปลองแปบ นะครับ


อ่ะ ได้ละครับ เอา code คอมเม้น 7 ไปใส่ดู ได้เฉยเลยครับ

แต่ค่าที่ออกมามันแปลกๆไปหน่อย จำนวนสาขาที่ยังไม่ส่งข้อมูล ที่คิวรี่มา มันไม่ตรงกับ

ที่คำนวนใน excel น่ะครับ (ผมใช้ excel เช็คน่ะครับ ก่อนนี้ แล้วทีนี้อยากทำแจ้งเตือนให้ผู้ใช้ทราบเอง ไม่ต้องตามทวง)

เลขห่างกันพอสมควรเลย


อ้อ ถามเพิ่มครับ ถ้าผมอยากให้สาขาที่ขาดมันระบุว่าเป็นของใคร โดยใช้ตาราง linework นี่ ผมต้องเอาไป join ตรงไหน ยังไงน่ะครับ


ประวัติการแก้ไข
2014-09-17 10:46:54
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-17 09:34:21 By : nimirue
 


 

No. 9



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์


รายงานความคืบหน้าครับ

โค้ดที่ให้มาใช้ได้ครับ ผมเอาไปคิวรี่ใน phpmyadmin ได้ผลออกมาตามต้องการแล้ว

แต่ติดปัญหาตรงให้มันไปคิวรี่บนเว็บเนี่ยแหละครับ

ลองใส่ดูมันคิวรี่ไม่ติด คิดว่าคงเพราะใส่ฟันหนูคลุมโค้ดไม่หมด ยิ่งสูตรนี้เป็น select ซ้อน select หลายอันด้วย ผมไปต่อไม่ถูกเลยว่าจะคลุมโค้ดด้วยฟันหนูยยังไง ( คลุมหมดก็ไม่ได้ = =)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-18 10:02:26 By : nimirue
 


 

No. 10



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
$qr=' select tmp.`date`, tmp.code, daily.daily_id
from
(
select d1.code, d2.`date`
from ( select code from daily group by code ) d1 , (select `date` from daily group by `date` ) d2
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null ';


ก็ไม่ต้องใส่ " ครอบ ให้ใส่ ' ครอบแทน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-18 10:39:31 By : Chaidhanan
 


 

No. 11



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์


error ex

ไม่ติดครับ Orz

ผมใส่ตามนี้อ่ะครับ

Code (PHP)
$qr=' select tmp.`date`, tmp.code, daily.daily_id
from
(
select d1.code, d2.`date`
from ( select code from daily group by code ) d1 , (select `date` from daily group by `date` ) d2
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null ';
$query = mysql_query($qr);
$result = mysql_fetch_assoc($query);
mysql_error();

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-18 10:43:36 By : nimirue
 


 

No. 12



โพสกระทู้ ( 44 )
บทความ ( 0 )



สถานะออฟไลน์


โอเคครับ ผมรู้สาเหตุละว่าทำไมไม่ได้ซะที

ผมลืมเชื่องต่อ database ครับ (ตกม้าตายสัส = ='')

ขอบคุณทุกคนที่ช่วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-18 11:18:42 By : nimirue
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [PHP] อยากเขี้ยนโค้ดให้ตรวจสอบข้อมูลที่ขาดไปครับ รบกวนด้วย
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่