แก้ปัญหาช่องว่างระหว่างชื่อกับนามสกุลยังงัยค่ะ PHP

คือ search ชื่อออกมา มีชื่อกับนามสุกล เช่น ชื่อ นามสกุล
แล้วพอกดจะดูข้อมูล ของคนนั้น ซึ่งเราเก็บไว้ในชื่อ cus_name
มันจะผิดพลาด ไปเป็นของคนอื่น หรือไม่ก็ไม่มีข้อมูลอะไรขึ้นมาเลย
ตรง บาร์มันจะขึ้นมา view.php?acc_id=ชื่อ%20นามสกุล

ต้องแก้ยังงัยคะ

ขอบคุณค่ะ

ตรงนั้นเป็นการ escape url ให้อยู่ในรูปที่สามารถรับส่งกันได้ครับ
แนะนำให้เปลี่ยนมาอ้างอิงจาก id แทนดีกว่าครับ

ต้องทำ url decode ครับผม ไม่ไม่งั้นอาจจะเห็นเป็น %20 อยู่ตามเดิมก็จะเอาไป query หรืออย่างอื่นแบบเพี้ยนๆ

แต่อย่้างที่คุณไอซ์บอกครับ ไม่จำเป็นอย่าทำเลยดีกว่าครับใช้ Id ดีกว่า ไม่งั้นเจอภาษาไทยเข้าไปอีก เพียนระงมเลยครับ :wub:

อึ่ม…ต้องแยกทำความเข้าใจระหว่างการทำ Query กับ Index Key ก่อนครับ แนะนำให้ไปหาหนังสือ… SQL มาอ่านทำความเข้าใจเรื่อง DBMS ก่อน

และให้ไปดูเรื่อง Full Text Search ของ MySQL ครับ

*เสริมต่อจากพี่หนึ่งนะครับ

เวลาหาแบบนี้ก็ต้อง LIKE แล้วพอ LIKE ไม่ทำ Index เครื่องระบบเลยครับ อิอิ

ถึงทำ Index ก็ กินแรมสูงมากเพราะ Data เบิ้มเลย จึงไม่นิยม เอา VARCHAR มาทำ INDEX ครับ

:wub:

" view.php?acc_id=ชื่อ%20นามสกุล " ตรงนี้…หากไม่อยากให้เห็น parameter value by form ก็ใช้ session ก็ให้ไปดูเรื่องการประกาศใช่ session
และส่ง value ต่างๆผ่านตัวแปร session ก็ไม่เห็นอะไรรกตาแล้วครับ

%20 แก้ไม่ได้ครับ มันก็ปกติของมันอยู่แล้ว :slight_smile:

full text search ::: match (field) against (value)
ไม่ได้ใช้ like นะครับ

แล้วก็ varchar ก็สามารถทำ index ได้ครับ
โดยเวลา query ก้ใช้ WHERE field = ‘value’ ธรรมดาได้เลย
(แค่มันเปลืองแรมกว่ากันเยอะ เพราะ varchar มันใหญ่กว่า)

กลับเข้าเรื่องของ จขกท.
แต่ทีนี้ กรณีของ จขกท. จะเป็ฯการอ้างอิงเพื่อดูข้อมูล…
เพราะงั้น ควรจะอ้างอิงจาก field ที่เป็น primary key ครับ (เช่น id เป็นต้น)

ขอบคุณทุกท่านมากค่ะ

ไม่เป็นไร อิอิ (รีบมารับก่อนใคร) เอิกๆๆๆ