PDA

View Full Version : جستجو برای سایت فروش سخت افزار



rtech
دوشنبه 27 فروردین 1386, 21:14 عصر
سلام دوستان
من در حالی راه اندازی یک فروشگاه الکترونیکی هستم که فقط قطعات سخت افزار در آن به فروش میرود . در صفحه اول این سایت میخوام یک تکست باکس برای عملیات جستجو در بین تمام قطعات را قرار بدم . تمام قطعات ( مشخصات ، تصاویر ، گروه ها ، زیر گروه ها ) در دیتابیس و هر قطعه در یک جدول ذخیره شده بر فرض CPU و تمام قطعاتی که شامل آن میشود مثل AMD و Intel و ریز مشخصات این پردازنده ها در جدول Products_CPU ذخیره میشود و مادربرد در Products_mainboard ذخیره میشود . فیلد های این جداول هم با هم یکسان نیستند چطور میتوان عملیت جستجو را در تمام جداول انجام بدم ؟

nazaninam
دوشنبه 27 فروردین 1386, 21:33 عصر
به نظر من کار شما از اول اشتباه بوده که برای هر کتگوری یک جدول ساختید !
کار خوتون رو سخت کردید ، و باید داخل تمام جداول با شرط های مختلف جستجو کنید.

rtech
دوشنبه 27 فروردین 1386, 21:37 عصر
من هنوز اطلاعات را وارد جدول نکردم و هنوز جا برای کار دارد و میتونم از اول بانکم را بسازم به نظر شما باید چی کار کنم ؟
من میخوام سایتی مثل رایان صبا که در زیر لینکش رو گذاشتم بسازم که امکان امتیاز دهی و نظرخواهی هم برای قطعات وجود داشته باشه .
www.rayansaba.com

Chabok
دوشنبه 27 فروردین 1386, 22:21 عصر
از نظر من بهترین طراحی به گونه ای است که فقط 2 تا تیبل داشته باشین
یکی برای گروهها و زیر گروهها (نامحدود)
و یکی هم برای قطعات

در جدول گروهها باید چنین تکنیکی پیاده کنید :
یک فیلد اصلی برای هر گروه : ID
و یک فیلد به عنوان پدر : ParentID
+ بقیه فیلدهای لازم

که هر گروه یک کد برای خودش داره و یک کد هم پدرش رو مشخص میکنه (یا مادر :لبخند:) یعنی همون گروه رو .

قطعات هم یک کد برای خودشون دارن و یک کد هم به عنوان گروهشون + بقیه فیلدهای لازم.

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

من خودم در صدد نوشتن چنین برنامه ای بودم . ولی هنوز وقت نکردم شروع کنم .
موفق باشید .

rtech
دوشنبه 27 فروردین 1386, 22:32 عصر
آیا قرار دادن اطلاعات در دو جدول و زیاد شدن اطلاعات باعث کندی سایت نمیشه ؟

rtech
سه شنبه 28 فروردین 1386, 00:30 صبح
از نظر من بهترین طراحی به گونه ای است که فقط 2 تا تیبل داشته باشین
یکی برای گروهها و زیر گروهها (نامحدود)
و یکی هم برای قطعات

در جدول گروهها باید چنین تکنیکی پیاده کنید :
یک فیلد اصلی برای هر گروه : ID
و یک فیلد به عنوان پدر : ParentID
+ بقیه فیلدهای لازم

که هر گروه یک کد برای خودش داره و یک کد هم پدرش رو مشخص میکنه (یا مادر :لبخند:) یعنی همون گروه رو .

قطعات هم یک کد برای خودشون دارن و یک کد هم به عنوان گروهشون + بقیه فیلدهای لازم.

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

من خودم در صدد نوشتن چنین برنامه ای بودم . ولی هنوز وقت نکردم شروع کنم .
موفق باشید .

میتونید یک مثال بزنید در مورد گروهها و پدر و قطعات و رابطه بین این دوجدول . به طور مثال برای CPU که AMD و اینتل را داریم + ریز قطعات

Chabok
سه شنبه 28 فروردین 1386, 10:17 صبح
بله . چرا نمیشه .

جدول گروهها :


ID PID Name
1 0 CPU
2 0 MainBoard
3 1 AMD
4 1 Intel
5 3 AMD 64Bit
6 3 AMD 32Bit
7 4 Intel DualCore
8 4 Intel Core2Dou

در این صورت آنهایی که PID=0 دارند در گروه اصلی و به ترتیب بقیه زیر آنها می نشینند .(خیلی واضحه)

ومثلا برای قطعات :


ID GID Name
1 5 Amd64bit 2300Mhz 2MbCache
2 7 IntelDual3200Mhz FullCache
3 8 IntelCore2Duo 3.4 4MB Cache
یعنی GID قطعات به ID گروهها وصل میشه .

rtech
سه شنبه 28 فروردین 1386, 12:12 عصر
اینجا یک سوال پیش میاد تمام قطعات که مشخصات یکسانی ندارند مثلا برای MP4 Player ما باید یک فیلدی داشته باشیم که سایز LCD رو توش بزنیم مثلا LCD_size حال توی این جدول ما برای CPU که نمیتونیم برای این فیلد مقداری داشته باشیم . برای خصوصیات قطعات باید چجوری عمل کنم ؟

rtech
سه شنبه 28 فروردین 1386, 13:50 عصر
دوستان کسی دیگه نظری در این مورد نداره ؟

rtech
سه شنبه 28 فروردین 1386, 14:54 عصر
بله . چرا نمیشه .

جدول گروهها :


ID PID Name
1 0 CPU
2 0 MainBoard
3 1 AMD
4 1 Intel
5 3 AMD 64Bit
6 3 AMD 32Bit
7 4 Intel DualCore
8 4 Intel Core2Dou

در این صورت آنهایی که PID=0 دارند در گروه اصلی و به ترتیب بقیه زیر آنها می نشینند .(خیلی واضحه)

ومثلا برای قطعات :


ID GID Name
1 5 Amd64bit 2300Mhz 2MbCache
2 7 IntelDual3200Mhz FullCache
3 8 IntelCore2Duo 3.4 4MB Cache
یعنی GID قطعات به ID گروهها وصل میشه .

من در این روش که شما گفتید به مشکل برخوردم .
زیر گروه های CPU که دارای PID یک هستند یعنی Intel و AMD با مثلا ASUS از گروه مادربرد که آن هم PID یک دارد یکی است من چحوری میتونم زیر شاخه ها رو از هم جدا کنم آیا برای اون ها هم باید یک آی دی جدا بدم ؟

Chabok
سه شنبه 28 فروردین 1386, 15:20 عصر
اینجا یک سوال پیش میاد تمام قطعات که مشخصات یکسانی ندارند مثلا برای MP4 Player ما باید یک فیلدی داشته باشیم که سایز LCD رو توش بزنیم مثلا LCD_size حال توی این جدول ما برای CPU که نمیتونیم برای این فیلد مقداری داشته باشیم . برای خصوصیات قطعات باید چجوری عمل کنم ؟

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


زیر گروه های CPU که دارای PID یک هستند یعنی Intel و AMD با مثلا ASUS از گروه مادربرد که آن هم PID یک دارد یکی است من چحوری میتونم زیر شاخه ها رو از هم جدا کنم آیا برای اون ها هم باید یک آی دی جدا بدم ؟د نه دیگه . ببینید : هر کسی پدرش معلومه . دیگه نیازی به این کار نیست .
من که گفتم کد نویسیش سخته . اون طوری اگه بخواهید عمل کنید برای هر زیر گروه دوباره باید یک فیلد تعریف کنید . ولی در این راه تعداد زیر گروهها نا محدود است .

rtech
سه شنبه 28 فروردین 1386, 15:38 عصر
مرسی فهمیدم چی شد ما از روی ID پدر رو پیدا میکنیم بقیه هم که معلومه . برای ادیتور فیلدی که باید تعریف کنم از چه نوعی باشه بهتره ؟ آیا باعث سنگین شدن سایت نمیشه ؟

Chabok
سه شنبه 28 فروردین 1386, 17:12 عصر
یه فیلد نا محدود (نمیدونم چه نوعی) یا مثلا با 10,000 کاراکتر . که بعد کم نیاره .
در مورد سنگین شدن سایت هم نگران نباشید . مگه همین انجمن کم متن داره .
حالا شما حداکثر رکورداتون 5000 تا که بیشتر نمیشه که . نباید مشکلی پیش بیاد .

موفق باشید .
(چرا هیچ یک از خفنای سایت توی این بحث شرکت نکردند:متفکر: .؟؟!!! . هی من خودمو انداختم پیش:لبخند:)

rtech
سه شنبه 28 فروردین 1386, 20:15 عصر
ولی واقعا به قول شما برنامه نویسی زیادی داره ولی در آخر خیلی راحت میشی .اما به نظر من استفاده از ادیتور کار رو یکم سخت میکنه ( البته منظورم در وارد کردن اطلاعات هست ) فرض کنید هر دفعه که بخواهید یک قطعه وارد کنید باید یک جدول در ادیتور بسازید تک تک مشخصات رو وارد کنید .

Alireza_Salehi
سه شنبه 28 فروردین 1386, 20:20 عصر
ولی واقعا به قول شما برنامه نویسی زیادی داره ولی در آخر خیلی راحت میشی .اما به نظر من استفاده از ادیتور کار رو یکم سخت میکنه ( البته منظورم در وارد کردن اطلاعات هست ) فرض کنید هر دفعه که بخواهید یک قطعه وارد کنید باید یک جدول در ادیتور بسازید تک تک مشخصات رو وارد کنید .

اگر از SQL 2005 استفاده می کنید فیلد از نوع XML برای همین جور کارهاست.

Chabok
سه شنبه 28 فروردین 1386, 22:25 عصر
با سلام .
میشه کمی در رابطه با این فیلد از نوع XML اطلاعات بیشتری بدین.ممنون

rtech
سه شنبه 28 فروردین 1386, 22:50 عصر
اگر از SQL 2005 استفاده می کنید فیلد از نوع XML برای همین جور کارهاست.

متاسفانه من از SQL Server 2000 استفاده میکنم

rtech
سه شنبه 28 فروردین 1386, 23:19 عصر
آیا من میتونم از DotNetNuke RadEditor محصول شرکت Telerik در ASP.net استفاده کنم یا این کنترل فقط مخصوص DNN هست ؟

rtech
چهارشنبه 29 فروردین 1386, 19:09 عصر
دوستان بحث رو رها کردید ؟

Chabok
چهارشنبه 29 فروردین 1386, 20:14 عصر
ادیتورهایی که پیشنهاد میشوند :
FreeTextBox
TinyMce
HtmlArea
که فکر کنم یکی از همین ها برای کار شما کافی باشه .

بنده در مورد RadEditor اطلاعی ندارم .
موفق باشید .

rtech
چهارشنبه 29 فروردین 1386, 21:20 عصر
ولی من شنیدم اینها فقط در کامپیوتر خودمون اجرا میشوند و با آپلود سایت دیگه کار نمیکنند درسته ؟

Chabok
پنج شنبه 30 فروردین 1386, 04:53 صبح
جل الخالق . نمیدونم .
من خودم با Tinymce کار کردم . روی سرور الان داره کار میکنه .بد نبود . زیاد شیک نیست .

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