PDA

View Full Version : select کردن محصولات از Database



fahmari
چهارشنبه 11 بهمن 1391, 14:47 عصر
سلام.
من دارم یه سایت فروش طراحی می کنم. فروش همه نوع محصولاتی.
می خوام وقتی مثلا کاربر از منو روی لپ تاپ کلیک کرد صفحه مربوط به لپ تاپ باز شه و آخرین محصولات و مشخصات و ... رو نمایش بده. و یا اگه روی لوازم خانگی کلیک کرد محصولات مربوط به اون نمایش داده بشه.

توی دیتابیس، من یه جدول ProductCategory دارم که دسته بندی مختلف محصولات داخلش قرار داره و به هر دسته یک ID اختصاص داده.
و به ازای هر دسته از محصولات هم یک جدول مجزا، مثلا T_Laptop جدول لپ تاپ ها، T_Fashion جدول مربوط به لباس و ...
چون مشخصات هر دسته از محصولاتم مختص به خودشونه و با بقیه فرق می کنه اگر تمام محصولات رو داخل یک جدول قرار بدم مقدار Null جدول خیلی زیاد میشه!

حالا موندم چجوری باید محصولات رو از دیتابیس واکشی کنم! چجوری بگم اگه رو لپ تاپ کلیک کرد از این جدول واکشی کن، اگه رو موبایل کلیک کرد از این بکی جدول!

clover
چهارشنبه 11 بهمن 1391, 14:59 عصر
سلام

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

موفق باشید

fahmari
چهارشنبه 11 بهمن 1391, 15:16 عصر
سلام

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

موفق باشید
ممنون. اول می خواستم همین کارو کنم ولی قک کردم درست نیست! و باید یه صفحه کلی داشته باشم که فقط اطلاعاتش تغییر کنه.
پس همین کارو می کنم. بازم ممنون

quantomquery
چهارشنبه 11 بهمن 1391, 16:35 عصر
سلام
از request استفاده کن

مثلا groupId لپ تاپ 5 باشه - با کلیک روی لپتاپ به صفحه زیر بره :
http://www.yourSite.com/ShowProducts.aspx?gId=5
یا برای لباس 15 باشه بره به :
http://www.yourSite.com/ShowProducts.aspx?gId=15

پس برا همه اجزا به یه صفحه یعنی ShowProducts.aspx می ره

حالا تو pageload صفحه یه بار چک کن gId وجود داره و اونو tryparse کن و وقتی مطمئن شدی عدد هست select بگیر و بعد با یه swich به اجزای هرجنس و اطلاعاتش به صورت دینامیکی div و مشخصاتش رو به صفحه اظافه کن

موفق باشید

fahmari
چهارشنبه 11 بهمن 1391, 17:31 عصر
سلام
از request استفاده کن

مثلا groupId لپ تاپ 5 باشه - با کلیک روی لپتاپ به صفحه زیر بره :
http://www.yourSite.com/ShowProducts.aspx?gId=5
یا برای لباس 15 باشه بره به :
http://www.yourSite.com/ShowProducts.aspx?gId=15

پس برا همه اجزا به یه صفحه یعنی ShowProducts.aspx می ره

حالا تو pageload صفحه یه بار چک کن gId وجود داره و اونو tryparse کن و وقتی مطمئن شدی عدد هست select بگیر و بعد با یه swich به اجزای هرجنس و اطلاعاتش به صورت دینامیکی div و مشخصاتش رو به صفحه اظافه کن

موفق باشید

سلام. :)
مرسی همینو می خواستم. ولی چجوری باید این کارو انجام بدم ؟؟
میشه کامل توضیح بدید؟
اون آی دی محصول چجوری باید به صفحه فرستاده بشه؟؟
یعنی باید تو صفحه براساس اون آی دی تصمیم گرفته بشه که محتویات صفحه چی باشن؟ درسته؟
خیلی سخت نیست؟! میشه دیزاینش رو درست درآورد؟
میشه نمونه کد برام بذارید؟؟

اوبالیت به بو
پنج شنبه 12 بهمن 1391, 01:21 صبح
درود

نه سخت نیست. حالا که می دونید برای هر دسته بندی چه جدولی دارید سخت نیست. مثلا می دونید برای CategoryID=3 باید لوازم آرایشی واکشی بشه متد مربوط به اون رو صدا می زنید. مثلا اگر CategoryID=5 بود متد مربوط به لپ تاپ ها رو نشون می دید:



if (Request.QueryString["CategoryID"]!=null){
if(Request.QueryString["CategoryID"].ToString()=="3"{
ShowMakeUpTools(Convert.ToInt32(Request.QueryStrin g["CategoryID"].ToString()));
}
else if(Request.QueryString["CategoryID"].ToString()=="5"{
ShowLaptops(Convert.ToInt32(Request.QueryString["CategoryID"].ToString()));
}

حالا اون متد ها رو هم که بعدا پیاده سازی می کنید و Select هاش رو جداگانه می نویسید و در گرید نشون می دید.

quantomquery
پنج شنبه 12 بهمن 1391, 12:10 عصر
سلام. :)
مرسی همینو می خواستم. ولی چجوری باید این کارو انجام بدم ؟؟
میشه کامل توضیح بدید؟
اون آی دی محصول چجوری باید به صفحه فرستاده بشه؟؟
یعنی باید تو صفحه براساس اون آی دی تصمیم گرفته بشه که محتویات صفحه چی باشن؟ درسته؟
خیلی سخت نیست؟! میشه دیزاینش رو درست درآورد؟
میشه نمونه کد برام بذارید؟؟



اول تو صفحه .aspx خودت یک div با یک id و runat سرور بساز



...
<body>
<form id="form1" runat="server">
<div>
<div id="MainContentDv" runat="server"></div>
</div>
</form>
</body>
...


بعد تو فرم لودت کدای زیر رو بزار ( البته شاید بعضی جاهاش رو باید ویرایش کنی)




int gId = -1;
if ((Request.QueryString["gId"] != null && Request.QueryString["gId"] != ""))
{

if (int.TryParse(Request.QueryString["gId"].ToString(), out gId))
{
// DataTable dt = از گروه مورد نظر سلکت بگیر و مثلا دیتا تیبل بهت بده
string content = "";
switch (gId)
{
case 5:// برای لپ تاپ

content = "< div class='laptops'>";
for (int i = 0; i < dt.Rows.Count; i++)
{
content += "id ={0} <br/> name={1}<br/> model={2} <br/><br/><br/><br/>";
content = string.Format(content, dt.Rows[i]["id"].ToString(), content, dt.Rows[i]["name"].ToString(), content, dt.Rows[i]["model"].ToString());
}
content += "</div>";

break;


case 15:// برای لباس

content = "< div class='lebas'>";
for (int i = 0; i < dt.Rows.Count; i++)
{
content += "id ={0} <br/> name={1}<br/> size={2} <br/><br/><br/><br/>";
content = string.Format(content, dt.Rows[i]["id"].ToString(), content, dt.Rows[i]["name"].ToString(), content, dt.Rows[i]["size"].ToString());
}
content += "</div>";

break;

default:
break;
}
MainContentDv.InnerHtml = content;

}




اطلاعات رو بر اساس gid سلکت کن و تو دیتا تیبل بریز

اطلاعات داخل content کد html هست که باید به سلیقه خودت بنویسی من همینطوری نوشتم


موفق باشید

quantomquery
پنج شنبه 12 بهمن 1391, 12:28 عصر
البته من یه قسمت swich رو کاملتر میکنم برای وقتی که میخوای وارد صفحه جزییات کالا بشی :




case 5:// برای لپ تاپ

content = "< div class='laptops'>";
for (int i = 0; i < dt.Rows.Count; i++)
{
content += "id ={0} <br/> name={1}<br/> model={2} <a href='Detailes.aspx?id={0}&gid={3}'>جزییات کالا </a><br/><br/><br/><br/>";
content = string.Format(content, dt.Rows[i]["id"].ToString(), content, dt.Rows[i]["name"].ToString(), content, dt.Rows[i]["model"].ToString(),gId);
}
content += "</div>";

break;



حالا این گوی و این میدان
برای صفحه Detailes.aspx هم یه همچین کارایی میتونی بکنی