PDA

View Full Version : صفحه با تعداد کنترل های متفاوت



Nasim_m
چهارشنبه 14 فروردین 1387, 14:11 عصر
سلام
فرض کنید یک سایت خبری داریم که کاربران سایت خبرهایشان را برای آن ارسال می کنند
هر خبر شامل چند عکس و پاراگراف است و واضح است که تعداد این عکس ها و مطالب برای تمام خبرها یکسان نیست
یک روش برای حل این مشکل قرار دادن محدودیت هایی برای تعداد عکس ها,پاراگراف ها و موقعیت عکس ها در صفحه است اما اگر بخواهیم این محدودیت ها را برداریم(یعنی هر کاربر به تعداد دلخواه عکس و مطلب در خبر قرار دهد و موقعیت عکس در نوشته ها را هم خودش اعمال کند)چگونه باید پیاده سازی کنیم

miladr
چهارشنبه 14 فروردین 1387, 14:43 عصر
معمولا تو سایت های خبری هر خبر یک عکس اصلی داره که در خلاصه خبر تو صفحه اصلی نشون داده میشه و وقتی روی ادامه خبر کلیک می شه تو یه صفحه دیگه جزئیات خبر نشون داده میشه.
که یکی از این جزئیات متن خبر هست که اگه موقع ورود خبر این فیلد با استفاده از یک ادیتور مثل FCK وارد بشه میتونه شامل عکس - و همه تگ های HTML دیگه باشه.

merlin_vista
چهارشنبه 14 فروردین 1387, 14:52 عصر
دوست عزیز درست متوجه سوال نشدم !
اما برای کاری که میخواهید بکنید این راه به نظرم رسید .

یک قسمت در سایت با عنوان ارسال خبر درست کنید و در آن یک ادیتور بگزارید که کاربر بتونه هم عکس و هم نوشته و هم لینک و چیزهای دیگر را به راحتی ایجاد کنه سپس برای دکمه ارسال عمل Insert را بنویسید در همان جدولی که اخبار شما وجود دارد . فیلدخبر را نیز از نوع ntext بگیر . برای تائید اخبار هم یک فیلد از نوع True or False بگیر و اگر True بود نمایش بده و در هنگام insert آن را False بگیر . برای نمایش اخبار در صفحه اصلی میتونی از litra یا label کمک بگیزی .

اگر بد توضیح دادم ببخشید . هرجای که مشکل داشتی بپرس . . . . .

mahdi_farhani
چهارشنبه 14 فروردین 1387, 15:05 عصر
یک جدول در نظر به به گیر به عنوان مستندات خبر . که ID خبر و مسیر عکس نگه داری میشه .
حالا با این کار دیگه محدودیت برای درج عکس نداری . و وقتی یک خبر فراخوانی میشه با یک Join ساده عکسهاش هم فراخوانی میشه

mes
چهارشنبه 14 فروردین 1387, 17:27 عصر
سلام
نمی دونم درست متوجه شدم یا نه.
ولی یه راه اینه که آبجکت هات رو داینامیک اضافه کنی.
دومی کل صفحه رو به صورت Html تو کدت درست کن.

Nasim_m
چهارشنبه 14 فروردین 1387, 22:46 عصر
یک جدول در نظر به به گیر به عنوان مستندات خبر . که ID خبر و مسیر عکس نگه داری میشه .
حالا با این کار دیگه محدودیت برای درج عکس نداری . و وقتی یک خبر فراخوانی میشه با یک Join ساده عکسهاش هم فراخوانی میشه


من هم دقیقا از همین روش استفاده کردم ( برای هر خبر یک ID در نظر گرفتم و عکسهای هر خبر را با ID آن پیدا می کردم . اما مشکل اصلی در نحوه نمایش دوباره آنهاست یک خبر ممکن است تنها یک عکس داشته باشد و یک خبر10تا. تازه مشکل مکان نمایش عکس در میان نوشته را هم به آن اضافه کنید.



سلام
نمی دونم درست متوجه شدم یا نه.
ولی یه راه اینه که آبجکت هات رو داینامیک اضافه کنی.
دومی کل صفحه رو به صورت Html تو کدت درست کن.

اگه میشه یکم بیشتر توضیح بده؟ خیلی ممنون میشم:قلب:

golhay2
چهارشنبه 14 فروردین 1387, 23:55 عصر
همانطور که آقای mahdi_farhani گفتند می تونید با Joinکردن وهمچنین استفاده از یک Editor به منظورت برسی یعنی یک جدول با idو خبر و در جدول دیگر از همان id اولی و هرچند تا عکس که می خواهی به این id اضافه کنی و سپس با Join کردن اونا فراخوانی کنی

Nasim_m
پنج شنبه 15 فروردین 1387, 00:24 صبح
سپس با Join کردن اونا فراخوانی کنی
اگه میشه شما این قسمتش رو برای من توضیح بده

mahdi_farhani
پنج شنبه 15 فروردین 1387, 00:42 صبح
فرض کن جدول اخبارت به این شکله
ID ------ PK
Title
Memo
Short_Memo
Archive
.
.
.
--------
یه جدول هم داری برای عکسها
ID
News_Id
Image_Path
------------
حالا هر خبر که درج میشه ، ID برگشت داده میشه و برای ذخیره سازی عکسها استفاده میشه
برای فراخوانی هم یه Select مینویسی میگی تمام عکسهایی که News_Id برابر X باشه .

Select * From News_Image Where News_Id=@News

twelve
پنج شنبه 15 فروردین 1387, 00:47 صبح
اگه میشه شما این قسمتش رو برای من توضیح بده


یعنی یه جدول داری برای خبرها با فیلد مثلا NewsID (این فیلد فیلد کلید هست )
یه جدول هم داری برای ذخیره عکس ها (که بهتره مسیر نسبی عکس ها باشه ) با 2 فیلد مثلا ImgID (فیلد کلید) , NewsID که این فیلد رو به فیلد NewsID جدول خبر ها متصل میکنی (Foreign Key ) و در زمان خوندن خبرها از جدول خبر ، تمام عکسهای موجود در جدول عکس که NewsID اونها با NewsID اون خبر یکسان هست رو بازیابی میکنید ... (امیدوارم متوجه شده باشید !! )
------------------------------------
اما راه بهتر . راحت تر (از نظر بنده ) دخیره خبرها و مخلفات اون به صورت HTML است .

Nasim_m
پنج شنبه 15 فروردین 1387, 01:17 صبح
آقای farhaniوtwelve عزیز من که در همان پست 6 گقتم که از این روش استفاده کردم
مشکل من در بازخوانی از پایگاه است : من باید چند تا کنترل image در صفحه قرار دهم تا در موقع بازخوانی از پایگاه خاصیت image url آن را تنظیم کنم
امیدوارم این بار مشکلم را درست بیان کرده باشم

twelve
پنج شنبه 15 فروردین 1387, 01:22 صبح
ای خواهر جون شما خودت داری میگی که تعداد عکس ها مشخص نیست پس نباید از کامپوننت استفاده کنید ... شما باید Image ها رو به صورت Runtime ایجاد کنید و ساده ترین راه اینکار هم استفاده از حلقه For Each است

mahdi_farhani
پنج شنبه 15 فروردین 1387, 01:25 صبح
بله این بار درست بیان کردید ، شما از یک دیتالیست که استفاده کنید ، مشکلت حل میشه .

mahdi_farhani
پنج شنبه 15 فروردین 1387, 01:29 صبح
فکر کنم دیتالیست ساده تر از یک حلقه Foreach و همچنین ایجاد Runtime باشه ... البته این نظر شخصی بنده هست و من قصد هیچگونه اهانت و توهین ندارم . نظر این دوستمون هم ارزشمند هست .

twelve
پنج شنبه 15 فروردین 1387, 01:37 صبح
فکر کنم دیتالیست ساده تر از یک حلقه Foreach و همچنین ایجاد Runtime باشه ... البته این نظر شخصی بنده هست و من قصد هیچگونه اهانت و توهین ندارم . نظر این دوستمون هم ارزشمند هست


آره دیتالیست هم بچه خوبیه ، اما به نظر من این کامپوننت برای نشان دادن خلاصه خبرها و اون عکس اصلی خبر مناسب تر هست تا برای نشون دادن مشروح اخبار و کلیه عناصر اون خبر. شاید Runtime ایجاد کردن عناصر کمی دردسر داشته باشه ولی به قول معروف دست برنامه نویس بازه و میتونه چینش ها و ظرافت بیشتری رو اعمال کنه

mahdi_farhani
پنج شنبه 15 فروردین 1387, 01:41 صبح
این بستگی به برنامه نویس داره ، من که اینطوری نشون میدم ، جزئیات خبر در بالا که شامل تاریخ ارسال ، منبع ، متن خبر ، ........
و در پایین به صورت یک آلبوم تصاویر به صورت Thumbnuill کنار هم چیده میشه و به کاربر نمایش داده میشه و .........................................