การ Insert ข้อมูลและการจัดรูปแบบข้อความใน Textarea
<textarea><?php echo nl2br($text); ?></textarea>
Date :
2010-01-30 12:42:00
By :
เซ็งตัวเอง
ขอที่เป็นภาษา ASP ได้มั๊ยคะ รบกวนด้วยค่ะ
ขอบคุณค่ะ
Date :
2010-01-30 13:09:11
By :
newjam
Code (ASP)
Response.Write Replace("your text" , vbLf , "<br />")
ไม่มีภาษา asp นะ มีแต่ vbscript กับ javascript ที่ใช้เขียน asp
html ก็ไม่ใช่ภาษาเหมือนกันเป็นแค่ code
Date :
2010-01-30 13:48:12
By :
tungman
<td><% Response.Write Replace(text, VbCrLf, "<br />") %></td>
ลืมดูว่า asp และดันใส่ใน textarea ซะงั้น
Date :
2010-01-30 13:48:31
By :
เซ็งตัวเอง
ตอนนี้แก้ไขให้ </br> ลงมาได้แล้วค่ะ แต่ยังสงสัยว่าทำไม Insert ลงฐานข้อมูลแล้ว
มันก็ยังเรียง ๆ กันไปเหมือนเดิม แบบนี้ดิฉันทำผิดรึป่าวคะ
เพราะกะลังสงสัยขั้นตอนต่อไปว่า เวลาที่ Select ขึ้นมา มันจะเป็นยังไง
มันจะรู้ได้ไงว่าจะต้องตัดช่วงไหนให้เป็น </br> ตอนที่ Insert ขาดตรงไหนไปรึป่าวคะ
รบกวนช่วยอธิบายเพิ่มเติมให้ด้วยค่ะ...
ขอบคุณทุก ๆ ท่านที่ช่วยแนะนำค่ะ...
Date :
2010-01-30 18:44:38
By :
newjam
ในฐานข้อมูลมันเก็บเป็น char(13) ซึ่งหมายถึง newline charactor
เวลาจะเขียนออก html ต้องแปลงเจ้า newline charactor นี้ให้เป็น html code คือ <br />
vb จะเห็น newline charactor เป็น vblf
c# จะเห็น newline charactor เป็น \n
Date :
2010-01-30 20:36:51
By :
tungman
ขอโทษค่ะ ยังไม่ค่อยเข้าใจที่คุณ Tungman พูดน่ะค่ะ
อันนี้หมายถึงให้แปลงข้อมูลด้วยตอนจะ Select ข้อมูลจาก Db ขึ้นมาโชว์เหรอคะ
แล้วที่บอกว่า char(13) เป็น newline charactor คือยังไง
หมายถึงว่ามันจะเก็บได้แค่ 13 char แล้วจากนั้นก็ตัดขึ้นบรรทัดใหม่ไปเรื่อย ๆ เหรอคะ
ขอโทษค่ะที่ถามวนเวียน คือไม่ค่อยเข้าใจจิงๆ ค่ะ พึ่งจะเริ่มเขียนโค้ดเว็บน่ะค่ะ
รบกวนช่วยยกตัวอย่างให้ดูหน่อยได้มั๊ยคะ ..ขอบคุณมากค่ะ
Date :
2010-01-31 08:18:14
By :
newjam
ตอน Save ก็ปกติน่ะครับ แต่ตอนที่แสดงผลก็ให้ใช้
Code (ASP)
Response.Write Replace(objRec.Fields("Description").Value, vbCrLf , "<br />")
Date :
2010-01-31 08:43:39
By :
webmaster
ขอถามต่ออีกนิดนะคะพี่..อย่างที่พี่บอกว่าตอน save ก็ save ปกติ
ก็เลยอยากจะขอทำความเข้าใจตรงนี้นิดนึงค่ะว่า
ตามหลักของโปรแกรมแล้วคือถ้าตรงหน้า input เรามีการ enter
ในแต่ละช่วงข้อความไว้ ระบบก็มีการจัดเก็บค่า </br> ตรงนี้ไปด้วยใช่มั๊ยคะ
เพียงแต่ตอนโชว์เราต้องมีการแปลงค่าโดยใช้คำสั่งเพิ่มเติมเพื่อจัดรูปแบบเท่านั้นใช่มั๊ยคะ
ไม่ว่าจะเป็นการ preview ก่อน insert หรือการ select ขึ้นมา preview ก็ตาม
ถ้าจะให้ข้อความแสดงผลเหมือนตอนที่เรากรอกที่หน้า input form ก็ต้องใช้
คำสั่งนี้ vbCrLf , "<br />") เพื่อจัดรูปแบบก่อน
ความเข้าใจนี้ถูกต้องรึป่าวคะ ต้องขออภัยค่ะ ถ้าถามจุกจิกเกินไป
คือยังสับสนอยู่ว่า โปรแกรมจะรู้จากตรงไหนว่าจะต้องตัด </br> ที่ช่วงไหนของข้อความ
หากในฐานข้อมูล ข้อความก็ยังเก็บเรียง ๆ ต่อ ๆ กันไปใน record เดียว
ขอรบกวนแนะนำเพิ่มเติมด้วยค่ะ ..ขอบคุณค่ะ
Date :
2010-01-31 10:21:55
By :
newjam
char(13) ก็คือ ตัวอักษรที่ใช้สำหรับ ขึ้นบรรทัดใหม่ ครับ
มองไม่เห็นหรอก ในฐานข้อมูลก็มองไม่เห็น (เหมือนรักแท้ รู้ว่ามีแต่มองไม่เห็น)
ดังนั้นเวลาเอามาใช้มันจึงต้องแทนเป็นสัญลักษณ์
ของ vb แทนด้วย vbCrLf
ของตระกูล c แทนด้วย \n
ของ html แทนด้วย <br />
เคยเห็นของ ms word ไหม มันแทนด้วย pi (เวลาให้แสดงความหมายวรรคตอน)
ของ sql มันไม่แสดงให้เห็นหรอก แต่รู้ว่ามี เวลาจะ insert ใน sql command จะใช้ char(13)
Insert Into [MyTable] ([MyData]) Values ("tungman" + Char(13) + "tungman")
ดังนั้นเวลาใช้ที่อะไรตรงแปลงให้ตรงที่ใช้ เช่นจะใช้ใน html ต้องแปลงเป็น <br />
Date :
2010-01-31 10:56:05
By :
tungman
ขอบคุณนะคะ สำหรับคำแนะนำ ^_^
Date :
2010-01-31 19:29:57
By :
newjam
Load balance : Server 02