PDA

View Full Version : محدود کردن سطرها برای نمایش در دیتابیس چگونه است؟



binboy
چهارشنبه 18 خرداد 1390, 12:47 عصر
سلام
برای نمایش داده های دیتابیس تو جدول مشکل دارم. اگر یک textarea را در نظر بگیریم و کاربری بیاد ده خط بنویسه تو دیتابسم همین مقدار ذخیره بشه برای نمایش بخواهیم هر ده خص را نمایش بدیم برای نمایش بهم میریزه. چطوری جدول های خاص و مدنظر را محدود کنم؟

MMSHFE
چهارشنبه 18 خرداد 1390, 12:50 عصر
با سلام، دوست گرامي به اين مورد فكر كردين كه چرا بهم ميريزه؟ دليلش اينه كه كاربر توي متن از كليد Enter براي شكستن متن استفاده كرده ولي HTML از تگ BR براي اين كار استفاده ميكنه. بنابراين اگه ميخواين اطلاعات رو درست نمايش بدين، بايد با كمك تابع nl2br در PHP، كاركتر New Line رو به تگ BR تبديل كنيد. مثال:


echo nl2br($row['text']);

موفق باشيد.

binboy
چهارشنبه 18 خرداد 1390, 12:56 عصر
حالا اگر اینتر نکرد بعلت زیاد بودن متن بازم از اون محدوده گرافیکی که تعیین کردم میزه بیرون. یعنی اگر فرد 100 خط نوشت طبق table که برای نمایش در نظر گرفتم این 100 خط تو نمایش بد در میاد.
چطوری این 100 خط را محدود کنم به چند کارکتر یا تا درون table جا بشه و ظاهر را بهم نریزه بعد کاربر روش کلیک کرد تمام 100 سطر را نمایش بده.

ببینبد، یک متن داریم مثلا این:


با سلام، دوست گرامي به اين مورد فكر كردين كه چرا بهم ميريزه؟ دليلش اينه كه كاربر توي متن از كليد Enter براي شكستن متن استفاده كرده ولي HTML از تگ BR براي اين كار استفاده ميكنه. بنابراين اگه ميخواين اطلاعات رو درست نمايش بدين، بايد با كمك تابع nl2br در PHP، كاركتر New Line رو به تگ BR تبديل كنيد.

می خوام به کاربر اینجوری نمایش بده:

با سلام، دوست گرامي ...

بعد با کلیک روی متن کوتاه متن کامل نمایش داده بشه. امیدوارم منظورم را درست بیان کرده باشم.
با تشکر

MMSHFE
چهارشنبه 18 خرداد 1390, 13:36 عصر
با سلام، ميتونيد اگه توي جدول هست، براي TD و اگه خارج از جدول هست، توي تگ DIV يا P يا SPAN يا هر Container ديگه، متن رو بگذارين و ازطريق خاصيت width اون تگ، پهناش رو تعريف كنيد تا اگه به انتها رسيد، متن بشكنه و بره سطر بعد، حتي اگه كاربر Enter نزنه. درست مثل همين سايت.
براي نمايش يك قسمت از متن (مثلاً 50 كاركتر اول) از substr استفاده كنيد و در انتهاش، يك لينك بگذارين به اين صورت:


<A href="article.php?id=<?PHP echo $row['id']; ?>" target="_blank">...</A>

اينطوري، عبارت ... بصورت لينك در مياد براي ادامه اون متن. حالا صفحه article.php رو طوري تنظيم ميكنيد كه id رو ازطريق GET_$ دريافت كنه و اون ركورد رو از جدول articles استخراج كرده و نشون بده. البته اين فقط يك مثال بود و صد البته، فقط يكي از راههاي حل متعدد اين مسئله. ميشه با AJAX و JS هم به شكلهاي جالبتري كار كرد ولي مزيت اين روش اينه كه هميشه كار ميكنه چون ممكنه جاوا اسكريپت روي مرورگر كاربر غيرفعال باشه و درنتيجه روشهاي ديگه كار نكنن.
موفق باشيد.