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,028

HOME > PHP > PHP Forum > มีข้อสงสัยครับ ช่วยหน่อยน่ะครับ คือ ผมจะทำเว็บ สารานุกรม น่ะครับ แล้ว ผมสงสัยว่า จะทำ link ในเนื้อหาของคำศัพท์ยังไง



 

มีข้อสงสัยครับ ช่วยหน่อยน่ะครับ คือ ผมจะทำเว็บ สารานุกรม น่ะครับ แล้ว ผมสงสัยว่า จะทำ link ในเนื้อหาของคำศัพท์ยังไง

 



Topic : 008801

Guest




คือ ผมจะทำเว็บ สารานุกรม น่ะครับ แล้ว ผมสงสัยว่า จะทำ link ในเนื้อหาของคำศัพท์ยังไง อ่ะครับ ในเมื่อ มันจะเพิ่มได้เรื่อยๆใช่ป่าวครับ

     แล้ว เนื่องจากพอใส่คำศัพท์ใหม่เข้าไปใช่มั้ยครับ มันจะต้องทำการ สร้าง link ถ้าเกิดในเนื้อหาของคำศัพท์เก่าๆ มีคำศัพท์ของคำที่เพิ่มเข้าไปใช่มั้ยครับ

     ปัญหาของผมตอนนี้คือ ทำไงครับ ที่ผมคิดตอนนี้คือ ไล่ select เอาเนื้อหาของคำศัพท์เก่าๆ มาหาทีละอันแล้วแทรก script ทำ link เข้าไป ถ้าเกิดเจอคำที่เหมือนกับ คำศัพท์ใหม่ที่เพิ่มเข้ามา

     แล้วมันจะช้าไปรึป่าวครับ แล้ว ปกติเขาทำกันยังไงเหรอครับ ผมต้องการรู้วิธีทำอ่ะครับ

     ปล. มันเป็น project ของผมน่ะครับ


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 20 มิ.ย. 2549 20:10:48 By : woradej View : 1957 Reply : 4
 

 

No. 1

Guest


เวลาที่มีคำศัพท์เพิ่ม คุณก็จำเป็นต้องเขียนเพจเพิ่มและอัพโหลดลงเว็บหรือเปล่า ถ้าเป็นอย่างนั้นก็ทำแบบที่คุณเคยทำดีแล้วค่ะ

แต่ถ้าเป็นเนื้อหาที่คุณต้องการใส่เพิ่มเติม และสร้าง link เพิ่มเติม โดยไม่ต้องการสร้างเพจเพิ่ม เพียงแค่ใช้ฐานข้อมูลเข้ามาเกี่ยวข้อง ให้ทำดังนี้


สร้างฐานข้อมูล

1. ตาราง link

มีฟิลด์ id (ใช้รันตัวเลขไม่ให้ link ซ้ำกัน)
ฟิลด์ link (เก็บข้อความที่จะทำเป็น link)
ฟิลด์ text (เก็บข้อความที่เป็นข้อมูลรายละเอียด) ถ้าให้ดีให้ตั้งชนิดฟิลด์นี้เป็น text เพราะเก็บข้อมูลได้เยอะ



สร้างเพจมา 1 เพจ สมมุติว่า Page1.php

1. เขียนคำสั่งดึงฐานข้อมูล ตาราง link ออกมาโดยให้แสดงแค่ฟิลด์ link (ถ้าให้เห็นถึงการทำงานจะได้ดังนี้)

while ($Field=mysql_fetch_array($result)
{
     echo "<a href=page2.php?link=$Field[id]>$Field[link]</a>";
*จากคำสั่งด้านบนเป็นการสร้าง link โดยส่งข้อมูลแบบ GET ซึ่งเป็นค่า id ของ Record นั้นๆไปกับ link
*ทุกข้อมูลในช่วงนี้จะเป็นข้อมูลใน Record นี้เท่านั้นจนกว่าจะวนลูปไปยัง Record ถัดไป
}




สร้างเพจมาอีก 1 เพจ สมมุติว่า Page2.php

1. เขียนคำสั่งดึงฐานข้อมูล ตาราง link ออกมาโดยใช้
     $sql = " select *from link where id=$link";
* จากคำสั่งด้านบนเป็นการเรียกอ่านฐานข้อมูลเฉพาะใน Record ที่มี id เท่ากับ link เท่านั้น

while ($Field=mysql_fetch_array($result)
{
     echo "<$Field[text]>";
* แสดงข้อมูลของ link นั้นๆ
}



จากตัวอย่างด้านบนคงจะพอเห็นการทำงานคร่าวๆ นะคะ ลำพังแค่ 2 เพจนี้จะสามารถอ่านข้อมูลจาก link ได้ไม่จำกัด ข้อสำคัญคือต้องออกแบบฐานข้อมูลให้ดีค่ะ

ปล. สามารถนำไปประยุกต์ให้ code สั้นลงได้นะคะ




จากก๊วน BR Club http://www.kobsoft.com
Club ที่มีแต่คนไอเดียดีๆ คิดออกนอกกรอบ สร้างสรรค์งานทุกรูปแบบ






Date : 20 มิ.ย. 2549 20:45:58 By : kljewothe;wlkce
 


 

No. 2

Guest


คือขอบคุณมากครับ

     แต่ที่ผมสงสัยคือต้องไล่หาทุกเนื้อหาของคำศัพท์รึป่าวครับ แล้วค่อยทำ link อย่างที่ คุณ kljewothe;wlkce ว่าไว้ คือ สมมติ ตัวอย่างดีกว่าครับ

     ศัพท์คำแรก internet มีเนื้อหาว่า บลาๆๆๆ protocol บลาๆๆๆ

     ศัพท์คำสอง protocol มีเนื้อหาว่า บลาๆๆๆ

คือผมจะทำไง ให้เนื้อหาในคำว่า internet คำว่า protocol อ่ะ เป็น link ไปหาศัพท์คำว่า protocol ได้อ่ะครับ
เนื่องจาก ถ้าทำไปเยอะๆ มันต้องมีหลายพันคำใช่มั้ยครับ

ที่ผมคิดไว้ คือ จะต้อง select รายละเอียดของคำว่า internet มา แล้วก็หาคำว่า protocol ว่ามีมั้ย ถ้ามี ให้แทรกทำเป็น link ได้
โดยการทำเป็น link ก็ select เอา id ของคำว่า protocol มาก่อน น่ะครับ

ซึ่งถ้าศัพท์เยอะ ผมไม่รู้ว่าจะนานไปรึป่าว หรือปกติเขาทำกันไง ผมไม่รู้อ่ะครับ

     ปล. ผมทำแบบดึงจาก database อ่ะครับ ไม่ได้สร้าง เพจใหม่ทุกคำน่ะครับ

แต่ก็ขอบคุณ คุณ kljewothe;wlkce ที่ช่วยครับ

รอคนช่วยเหลือต่อไป อิอิ และผมก็จะพยายามคิดเองด้วยครับ แต่จิงๆก็คิดได้แค่นี้ หรือมีวิธีอื่น Helppppp me plz
Date : 20 มิ.ย. 2549 21:16:50 By : woradej
 

 

No. 3

Guest


งั้นก็ใช้เทคนิคการ search ดีกว่าค่ะ คือใช้ search คำศัพท์ที่คุณทำเป็น link เช่น

sql = "select * from link where link like '%$Keyword%' ";

โดยที่ $Keyword คือตัวแปรที่ได้จาก text box ที่ผู้ใช้กรอกคำๆ นั้นลงไป สมมุติว่า ผู้ใช้กรอกคำว่า database

ผลลัพธ์ก็จะได้ link ที่มีคำว่า database เกี่ยวข้อง เช่น

สร้าง database ทำได้ง่ายๆ
about database
make database
database & programming


แต่ความหมายที่คุณต้องการ คือ 2 link แต่เชื่อมโยงไปยังเนื้อหาเดียวกัน

งั้นให้ออกแบบฐานข้อมูลใหม่โดยแยก link กับ text (เนื้อหาค่ะ เช่น)

ตาราง link

Field id - (รันตัวเลขไม่ให้ซ้ำกัน)
Field owner - (ใช้ระบุค่า id ของตาราง detail)
Field link - (เก็บข้อความที่เป็น link)


ตาราง detail

Field id - (รันตัวเลขไม่ให้ซ้ำกัน)
Field text - (เนื้อหา)



------------------------------------------------------------------
จากข้อมูลด้านบนจะเห็นว่า link ของเราสามารถจะมีค่า owner ที่ซ้ำกันได้ ซึ่งจะสามารถเขียนเป็นคำสั่ง link เพื่อไปยังเพจหน้าเดียวกันได้นั่นเอง

คิด ๆ ๆ ๆ ๆ ๆ ๆ ๆ ๆ คนไทยไม่หัดคิดออกนอกกรอบ ไม่รับเข้าคลับค่ะ


Date : 20 มิ.ย. 2549 22:07:49 By : hsfhsehhshfagwge
 


 

No. 4

Guest


ขอบคุณมากครับ เกรงใจจัง เกรงใจจริงๆ แต่ คืออออออ มันผิดประเด็นกับที่ผมถามน่ะครับ

คือผมถามในส่วนของ admin อยู่น่ะครับ ไม่ใช่ส่วนเวลาดู

ขอโทษครับ ผมอาจถามไม่ดี

ประเด็นคือ ผมจะหาวิธีสร้าง link ยังไง ก่อนที่จะ insert ข้อมูลนั้นลง database น่ะครับ

แล้วผมก็ว่า ที่ผมคิดคือ ไล่หาคำ แล้วแทรกทำเป็นลิงค์ แล้วก็ อัดลง database ซึ่ง ถ้าเกิดศัพท์เยอะ จะใช้เวลาหานาน มีวิธีอื่นที่นอกจากไล่หารึป่าวครับ ตัวอย่างเพิ่ม คือ จากตัวอย่างข้างบนน่ะครับ

ผมเพิ่ม คำว่า http เข้าไป แล้วรายละเอียดคือ ในโลก ของ internet บลาๆๆ มีการติดต่อผ่าน protocol บลาๆๆ

ซึ่ง พอผมหาคำว่า http แล้ว จะเจอเนื้อหาถูกป่าวคับ

บริเวณคำว่า internet กับ protocol จะมี link ไปหา เนื้อหาของคำนั้นๆน่ะครับ

ซึ่งวิธีที่ผมคิดคือ select ข้อมูลจาก database ทีละคำ แล้วไล่หาในเนื้อหา ถ้าเจอก็ทำเป็น ลิงค์ นี้คือไม่รู้จะช้าเปล่า ถ้ามีศัพท์เป็น พัน คำ จะเห็นว่า ค้นทั้ง database 1 รอบ สำหรับเนื้อหา ของคำ 1 คำ

และถ้าศัพท์มันเยอะ มันต้องไปไล่หาเนื้อหาของคำว่า internet และ protocol ว่ามีคำว่า http มั้ยถ้ามี ก็ทำเป็น link ไปหาคำว่า http ซึ่ง เป็นข้อช้าอีกข้อ จะเห็นว่า ไล่หาเนื้อหาของทั้ง database ด้วย

ทำให้การเพิ่มศัพท์มันช้า อ่ะคับ ผมเลยอยากรู้ว่ามีวิธีอื่นรึป่าวคับ ปกติเขาทำกันไงอ่ะคับ ในการทำ link ของพวก สารานุกรม (encyclopedia) อ่ะคับ

ขอโทษจิงๆ ที่รบกวน แต่ผมคิดไม่ออกจิงๆ คิดได้วิธีเดียว

ความเร็ว มันน่ะครับ สำหรับวิธีที่ผมคิด
สมมติใน database มีคำศัพท์ 5 คำ และน้อยที่สุด เนื้อหาของ n คำ ให้ไม่มีหัวข้อย่อยเลย จะได้เนื้อหาน้อยๆ

คำแรก ไล่ทั้ง db 5 รอบ
คำสอง ไล่ทั้ง db อีก 5 รอบ
ถึงคำสุดท้าย
จะได้ว่า มันทำทั้ง database ถึง 5 ยกกำลัง 5
หรือ ถ้า n คำ ก็ n ยกกำลัง n

ตายแน่ๆ คับ ถ้าเป็นงี้ Help me
Date : 20 มิ.ย. 2549 22:41:09 By : woradej
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีข้อสงสัยครับ ช่วยหน่อยน่ะครับ คือ ผมจะทำเว็บ สารานุกรม น่ะครับ แล้ว ผมสงสัยว่า จะทำ link ในเนื้อหาของคำศัพท์ยังไง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่