PDA

View Full Version : سرچ در کل بانک یه وب سایت و بعد redirect



ClaimAlireza
پنج شنبه 25 مرداد 1386, 10:21 صبح
دوستان بنده برای سرچ توی بانک وب سایتی از FTS استفاده کرده ام.

برای اینکه عبارت یا کلمه مورد نظر در کل بانک ونه فقط در یک جدول جستجو شود با یه sp نتیجه جستجوی تک تک جداول رو به یه جدول دیگه insert کردم.

حالا مشکل بنده توی redirect کردن به صفحه دیگست:

1- یه جدول ایجاد کنم و زمانی که فردی عمل سرچ رو انجام میده مقادیر رو توی اون insert کنم و بعدش یه select بگیرم.

مشکلی که اینجا به وجود میاد اینه که اگر شخص اول پس ازخواندن موضوعات مختلف قصد مشاهده جزییات یک مطلب رو داشته باشه و قرار باشه که برای دیدن جزییات به یه صفحه دیگه redirect بشه و دقیقا قبل از redirect شدن شخص دومی دوباره سرچی را انجام بده اونوقت مقادیر جدول عوض میشه و جزییات نشان داده شده به شخص اول دیگه صحیح نیست.

2- یه tempTable ایجاد بشه.مشکل این روش هم اینه که بعد از redirect شدن به صفحه دیگه ، select گرفتن امکان پذیر نیست چون جدول موقتی ما توی SP قبلی از بین رفت.آیا راه حل دیگه ای هست...

البته باید بگم که این سوال رو توی بخش sql پرسیدم ولی کسی پاسخی نداد.

باتشکر....

shahab_ksh
پنج شنبه 25 مرداد 1386, 10:43 صبح
یه جدول ایجاد کنم و زمانی که فردی عمل سرچ رو انجام میده مقادیر رو توی اون insert کنم و بعدش یه select بگیرم

از ترکیب جدولها استفاده کن نه به بصورت فیزیکی ایجاد کنی و نتیجه رو بده به یه کنترل نمایش داده و از یه کنترل هایپر لینک استفاده کن به جای ریدایرکت که محتوای جستجوت نپره

ClaimAlireza
پنج شنبه 25 مرداد 1386, 11:21 صبح
از ترکیب جدولها استفاده کن نه


میشه واضحتر بگی منظورت چیه؟؟



از یه کنترل هایپر لینک استفاده کن به جای ریدایرکت که محتوای جستجوت نپره


تا اونجایی که من میدونم وقتی رو hyperlink هم کلیک کنیم باید بالاخره یه مقداری رو به صفحه بعد انتقال بدیم (مثلا id) تا صفحه بعد هم جزییات مربوط به اون سطر مورد نظر رو نشون بده...!!

shahab_ksh
پنج شنبه 25 مرداد 1386, 11:35 صبح
نقل قول:
از ترکیب جدولها استفاده کن نه
میشه واضحتر بگی منظورت چیه؟؟


فرام Sql-server رو جستجو کنید



تا اونجایی که من میدونم وقتی رو hyperlink هم کلیک کنیم باید بالاخره یه مقداری رو به صفحه بعد انتقال بدیم (مثلا id) تا صفحه بعد هم جزییات مربوط به اون سطر مورد نظر رو نشون بده...!!

منظورم اینه که لیست صفحات در جستجوتون میاد رو یکی از نتایج کلیک می کنید یه صفحه جدید که مربوط به اون سطر از جستجوتون هست باز شه نه صفحه فعلی به صفحه جدید ریدایرکت شه

ClaimAlireza
پنج شنبه 25 مرداد 1386, 11:46 صبح
منظورم اینه که لیست صفحات در جستجوتون میاد رو یکی از نتایج کلیک می کنید یه صفحه جدید که مربوط به اون سطر از جستجوتون هست باز شه نه صفحه فعلی به صفحه جدید ریدایرکت شه


امکانش هست یه نمونه کد بزارین...

ClaimAlireza
شنبه 27 مرداد 1386, 14:10 عصر
دوستان ممنون میشم اگه هم فکری کنید و یه راه حل جلوی پام بذارید.

Behrouz_Rad
شنبه 27 مرداد 1386, 18:46 عصر
FTS؟ جدول موقت برای چی؟

ealireza
شنبه 27 مرداد 1386, 19:19 عصر
دوستان بنده برای سرچ توی بانک وب سایتی از FTS استفاده کرده ام.

برای اینکه عبارت یا کلمه مورد نظر در کل بانک ونه فقط در یک جدول جستجو شود با یه sp نتیجه جستجوی تک تک جداول رو به یه جدول دیگه insert کردم.

حالا مشکل بنده توی redirect کردن به صفحه دیگست:

1- یه جدول ایجاد کنم و زمانی که فردی عمل سرچ رو انجام میده مقادیر رو توی اون insert کنم و بعدش یه select بگیرم.

مشکلی که اینجا به وجود میاد اینه که اگر شخص اول پس ازخواندن موضوعات مختلف قصد مشاهده جزییات یک مطلب رو داشته باشه و قرار باشه که برای دیدن جزییات به یه صفحه دیگه redirect بشه و دقیقا قبل از redirect شدن شخص دومی دوباره سرچی را انجام بده اونوقت مقادیر جدول عوض میشه و جزییات نشان داده شده به شخص اول دیگه صحیح نیست.

2- یه tempTable ایجاد بشه.مشکل این روش هم اینه که بعد از redirect شدن به صفحه دیگه ، select گرفتن امکان پذیر نیست چون جدول موقتی ما توی SP قبلی از بین رفت.آیا راه حل دیگه ای هست...

البته باید بگم که این سوال رو توی بخش sql پرسیدم ولی کسی پاسخی نداد.

باتشکر....
یک جدول درست کن
بعد نتیجه جستجوت رو با یک کلید ID مشخص وارد اون کن
برای هر جستجو یک اندیس اختصاص بده

سعی کن روی ID که اندیس جستجو هست یک اینکس درست کنی

نهایتا هم برای حذف سریع میتونی هر چند ساعتی از Truncate استفاده کنی
یا قبل از Expire شدن Session کل جستجو هایی که طرف کرده رو حذف کنی (برای هر جستجو باید اندیس جدید رو توی Session بصورت آرایه ای نگه داری کنی )
مقلا اینطوری

[25,1,54,8]

موفق باشید

ClaimAlireza
یک شنبه 28 مرداد 1386, 09:09 صبح
FTS؟ جدول موقت برای چی؟


برای اینکه من میخام توی کل بانکم (نه فقط یه جدول خاص)سرچ رو انجام بدم.
پس باید سرچ رو برای تک تک جدول ها انجام بدم ونتیجش رو تو یه جدول واحد بریزم بعد select بگیرم.درسته؟؟

اینطور که به نظر میاد راهی وجود داره که من ازش بیخبرم....