موتور جستجو برای فروشگاه

fereshte22

Member
من در حال طراحیه یک فروشگاه اینترنتی هستم و احتیاج به یک موتور جستجو برای فروشگاه خود دارم.من همه محصولاتم به همراه مشخصات ان را در gridview نشون میدهم و میخواهم وقتی سرچ میکنم هم نتایج جستجو در gridview نشون داده شود
کسی میتونه من را در این رابطه کمک کند(vb.net )
 

MDP

Well-Known Member
سلام!

شما باری این کار میتونید از همون select استفاده کنید!

برای این کار شما باید یه هم چین چیزی داشته باشید:

کد:
SELECT * FROM Product WHERE Name LIKE 'O%'

:wink:
 
آخرین ویرایش:

fereshte22

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

پیوست ها

  • WebVB.zip
    866.4 کیلوبایت · بازدیدها: 83

fereshte22

Member
سلام!

شما باری این کار میتونید از همون select استفاده کنید!

برای این کار شما باید یه هم چین چیزی داشته باشید:

کد:
Select * from product Like "Some thing%"

:wink:


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

MDP

Well-Known Member
سلام!
با عرض پوزش یه اشتباهی توی کد بود درست کردم

در مورد اون هم باید بگم علامت % به معنای جایگزینیه 0 تا N کاراکتر بعد از % هست!

یعنی بعد از % هرچی باشه مهم نیست!

این کدی که من دادم تمام جدول شما رو جستو جو میکنه و اون فیلدهایی که اول اسمشون با O شروع بشه رو پیدا میکنه و نشون میده

در ضمن خانوم فرشته فایلی که گذاشتید کلی ارور داره!

اگه میشه درستش کنید لطفا!
 

MDP

Well-Known Member
برای اطلاعات بیشتر در مورد Like می تونید به این لینک هم یه سری بزنید!
 
آخرین ویرایش:

fereshte22

Member
سلام
دوست عزیز اولا از راهنمایهاتون خیلی ممنون هستم .ولی چند تا سوال داشتم.
یه سوال توی پست های قبلی پرسیدم که هنوز برام مبهمه.من کدی که شما دادید را امتحان کردم .این کد فقط براساس یک فیلد جستجو را انجام میدهد.
ایا باید دستور select را برای فیلد های دیگر هم به کار ببریم؟مثلا از دستورات or و یا همچین چیزی استفاده کنیم تا جستجو روی همه فیلد ها انجام بشود مثلا در یک رکورد فیلد نام حاوی کلمهdfo است و در رکورد دیگر فیلد توصیف کالا حاویه چنین کلمه ای است.
کلمه مورد جستجو در texbox قرار میگیرد .این کنترل را چه طوری در دستورselect باید به کار ببریم؟
در مورد اون برنامه هم راستش حجمش بیشتر از حد مجاز بود و من نتونستم همه برنامه را اپلود کنم و بعضی از صفحات مثل ثبت نام و غیره را حذف کردم.ولی خوب قسمت مربوط به جستجوش در صفحه search.aspx است.
 

novinpardaz

Member
سیستم فروشگاه آنلاین دارم به زبان asp با بانک access خیلی قویتر از farsicommrce که با php نوشته شده هستش. خواست به آدرس http://baje24.com بیا. دانلود کن
 
  • Like
Reactions: MDP

MDP

Well-Known Member
سلام!


جناب novinpardaz از شما به خاطر معرفی فروشگاه برای دانلود ممنونم

و در جواب سوال شما بای دبگم شما برای هر فیلدی که می خوای چک بشه لازم نیست یه Select بنویسید می تونید اون ها رو با عملگر or توی یه Select جا بدید!:D

.:مسعود:.
 

fereshte22

Member
سلام
یه مشکل هنوز برای من باقی مونده است که در این دستور select به جای حروف باید از textbox استفاده کنیم تا بر اساس مقدار textbox جستجو را انجام دهد.ولی من نمیدونم که این textbox را به چه صورت قرار دهم ؟
 

MDP

Well-Known Member
سلام!

این کار رو بکنید:
کد:
[LEFT]Dim strlike as string
strlike="%" & Textbox1.text
Select * from products where name like strlike or descript like strlike [/LEFT]

:)
 

fereshte22

Member
سلام دوست عزیز
من طبق راهنمایی شما و به صورت زیر عمل کردم.
کد:
con.Open()
        Dim strlike As String
        strlike = "%" & Textbox1.text
        strsql = "Select * from products where name like strlike or descript like strlike "
        cmd = New SqlCommand(strsql, con)
        dr = cmd.ExecuteReader
        GridView1.DataSource = dr
        GridView1.DataBind()
        con.Close()
ولی این خطا را میدهد که:Invalid column name 'strlike'
نمیدونم مشکلش چیه؟؟
 

MDP

Well-Known Member
سلام!
خوب تعجبی هم نداره این درسته:
کد:
[LEFT]
con.Open()
        Dim strlike As String
        strlike = "%" & Textbox1.text
        strsql = "Select * from products where name like '" &  strlike &"' or descript like '" & strlike & "'"
        cmd = New SqlCommand(strsql, con)
        dr = cmd.ExecuteReader
        GridView1.DataSource = dr
        GridView1.DataBind()
        con.Close()[/LEFT]
 
آخرین ویرایش:

fereshte22

Member
دوست عزیز بینهایت از راهنمایی شما ممنون هستم.خوشبختانهمشكلم با كمك شما حل شد.

در ضمن یه سوال داشتم.من همیشه با این دستورات مشکل دارم.احتمالا در تاپیک های قبلی من هم متوجه شده اید .
مثلا من برای همین دستور like خيلي سرچ کردم که ببینم وقتی به جای حروف بخواهیم مقدار textbox را قراربدهیم باید چیکار کنیم.ولی چیزی پیدا نکردم و کلا برای کوری های مختلف همین دردسر را دارم.
شما میتونید یه راه خوب برای حل این مشکل اساسه من پیشنهاد کنید.کلا چه سایت هایی را برای اموزش asp.net پیشنهاد میکنید
ممنون میشوم.
موفق باشید
 

MDP

Well-Known Member
سلام!

والا من خودم توی کار یاد گرفتم از جایی نخوندم!

ولی چشم یه پست آموزش کامل Select مینویسم و میزارم!
 

fereshte22

Member
سلام
من میخواهم یک اماری از کلمه های مورد جستجو داشته باشم که بدونم هر کلمه چند بار مورد جستجو قرار گرفته است.
به نظر شما باید یک جدول جداگانه برای این کار اختصاص بدهم که شامل نام کلمه و تعداد دفعات مورد جستجو باشد.
به نظر خودم این تنها راه است ولی نمیدونم چرا یه کم تردید دارم که یک جدول برای این کار اختصاص دهم.
به نظر شما این راه درستی است؟
 

fataneh_goodarz

New Member
:twisted::twisted::twisted::twisted::twisted::twisted::twisted::twisted::twisted::twisted:
سلام
یه مشکل هنوز برای من باقی مونده است که در این دستور select به جای حروف باید از textbox استفاده کنیم تا بر اساس مقدار textbox جستجو را انجام دهد.ولی من نمیدونم که این textbox را به چه صورت قرار دهم ؟
 

جدیدترین ارسال ها

بالا