ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยหน่อยครับ เรื่อง mysql
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยหน่อยครับ เรื่อง mysql  (อ่าน 801 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
iDaemon
คนรักเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 174



ดูรายละเอียด
« เมื่อ: 22 มีนาคม 2008, 02:44:32 »


คือเรามี sql ที่มีข้อมูลประมาณนี้
INSERT INTO lyrics VALUES (songid1,'Artist','Songname','albumname','Artistletter','lyricstext');
INSERT INTO lyrics VALUES (songid2,'Artist','Songname','albumname','Artistletter','lyricstext');

แต่เราต้องการยัดลง table 3 table โดยแต่ละ table มี field ดังนี้

table แรก artist
('id','artist','total track')

คำถามแรก เราจะใช้คำสั่ง sql ยังไงให้มันเอา artist ไปใส่ในช่อง artist แล้วถ้าซ้ำก็ไม่เพิ่ม row แล้วเพิ่มจำนวน นับ track ใน คอลั่ม 3
ต้องใช้คำสั่งไรบ้างครับ

table ที่สอง track
('id','artist','title','album','dateadd','artwork','view')
อยากจะยัด ข้อมูลจากตารางแรก มาใส่ตารางนี้ โดยใส่ตามตัวมันเลยครับ id , artist , title , album

table สุดท้าย lyrics
('trackid','lyricstext')
อันนี้ยัด แค่ id กับ lyricstext น่ะครับ

ถ้าใครโปร ๆ mysql หน่อย คงไม่งงนาน ยังไงช่วยชี้แนะด้วยนะครับ ลอง search ดูมันแบบว่า ไม่ข้อมูลมาไม่ค่อยตรงเท่าไหร่ เพราะไม่รู้ต้องใช้คำสั่งอะไร


บันทึกการเข้า

I Shall Return..
navico
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 108
ออฟไลน์ ออฟไลน์

กระทู้: 2,315



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 22 มีนาคม 2008, 03:39:32 »

ทำไรเนี่ย ผมคงยังไม่โปรมั๊งครับ....
จะเขียนโปรแกรม หรือถาม sql เฉยๆ น๊อ....
เดี๋ยวกลับมาดู...อยากรู้เหมือนกัน
บันทึกการเข้า
iDaemon
คนรักเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 174



ดูรายละเอียด
« ตอบ #2 เมื่อ: 22 มีนาคม 2008, 03:51:30 »

ถามเป็นคำสั่ง ของ sql เลยอะครับ

รันบน shell หรือ phpMyAdmin

คือได้ข้อมูลดิบมาเป็น table เดียว อยากเอาไปยัด ลง สาม table เพื่อนเขียนโปรแกรมละเอียดต่อไปน่ะครับ
« แก้ไขครั้งสุดท้าย: 22 มีนาคม 2008, 03:53:32 โดย iDaemon » บันทึกการเข้า

I Shall Return..
thenetxx
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,986



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 22 มีนาคม 2008, 04:21:57 »

sql เลยคงไม่ได้

คงต้องเขียนโปรแกรมเพิ่ม แต่ดึกแล้วไม่มีแรงประมวลผลเอาแค่วิธีละกันไปค้นต่อเองนะคับ

1. ใช้ fopen เปิดมันขึ้นมาแล้ว ใช้ fgets จับลง array จะได้ array ของแต่ละบรรทัด
2. เอา array ที่ได้ มา foreach แล้วใช้ regex ตัดเอาแค่ songid1,'Artist','Songname','albumname','Artistletter','lyricstext'

ถ้า regex เก่งหน่อยก็จะได้ เป็น array ของแต่ละฟิวเลย แต่ถ้าไม่เก่งก็จะได้เหมือนข้างบน ใช้ split ก็ได้ทำให้ได้ array ของแต่ละ field

3 เอา array ของฟิวที่ได้ มา query ลง db 3 แบบดังกล่าว
โดย table แรกกะอันที่ 3 ก็ query  insert ไปเลย

4.ส่วนtableอันที่สอง เมื่อสร็จข้อ 3 ก็  select distinct(artist) from table1
แล้วก็ loop insert เข้าไป  table 2 คับ



เอ่อ งงป่าวหว่า
บันทึกการเข้า

Develop site but can't develop life
ASIA
iDaemon
คนรักเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 174



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 มีนาคม 2008, 05:01:50 »

อ่า พอจะนึกภาพออกแล้วครับ เดี๋ยวจะลอง ค้นดูต่อ คลำๆ ต่อไป เพราะไม่ได้เก่ง programing อะครับ  Embarrassed

ถ้าติดตรงไหนจะมาถามใหม่นะครับผม  Kiss
บันทึกการเข้า

I Shall Return..
หน้า: [1]   ขึ้นบน
พิมพ์