ورود

View Full Version : مراحل انجام خرید انلاین چی هست؟



RIG000
شنبه 04 آبان 1392, 11:47 صبح
با سلام.
راستش اگه ما بخایم خرید انلاین کنیم... باید چه فیلد هایی رو تو دیتابیس ثبت کنبم؟
یعنی وقتی روی باتون خرید کلیک کنیم چه چیزی هایی باید ثبت و پاس داده بشه؟
اصلا داستان سبد خرید چی هست؟ میشه روال کارش رو بهم بگید؟ ممنونم.:اشتباه::ناراحت:

RIG000
شنبه 04 آبان 1392, 13:00 عصر
لطفا" یکی یه چیزی بگه..:(
تا حالا اینکارو نکردم...

RIG000
شنبه 04 آبان 1392, 14:01 عصر
نام کالا - قیمت کالا - تعداد - قیمت کل -
این فیلد هایی که میخام ثبت بشن ...
حالا یه جدول دارم که اینا توش ثبت میشن ....
اینا رو مشکلی نیست .
اما این قضیه سبد خرید چیه؟ ..؟ چه جوری درستش کنم؟ یعنی روال کاری که تو سبد خرید هست چی هست؟؟
بعدش این وسط یه خرید انلاین داریم که این چه هنگامی رخ میده ؟؟؟ وبه بخاطر اینکه خرید انلاین رو اضافه کنم باید چیکار کنم؟

RIG000
یک شنبه 05 آبان 1392, 08:37 صبح
دوستان یکی یه چیزی بگه لااقل

RIG000
یک شنبه 05 آبان 1392, 12:40 عصر
ما میتونیم واسه سبد خرید اینکار رو کنیم. وقتی چیزی میخریم بره تو یه جدول بشینه وسپس بریم یه چیز دیگه بخریم یا همون اضافه کنیم به سبد خرید ... اون قبلی رو تو یه تیبل داشته باشیم ....
..... و حالا جدید رو اضافه کردیم اون قبلی از دیتابیس سلکت بشه ...
و بعد از ازاینکه خرید نهایی رو انجام دادیم اطلاعات خریدار بره تو جدول ما بشینه ... و حالا این جدول مربوط به سبد خرید ما هم خالی بشه یا delete بشه به عبارتی درسته؟

star_rh
یک شنبه 05 آبان 1392, 13:55 عصر
اطلاعان خرید در یه دیتابیس موجود هست. وقتی کسی افزودن به سبد رو می زنه Id کالا در کوکی اون ذخیره می شه و برای اتمام خرید کوکی به سرور ارسال می شه.

mehdin69
یک شنبه 05 آبان 1392, 14:03 عصر
ما میتونیم واسه سبد خرید اینکار رو کنیم. وقتی چیزی میخریم بره تو یه جدول بشینه وسپس بریم یه چیز دیگه بخریم یا همون اضافه کنیم به سبد خرید ... اون قبلی رو تو یه تیبل داشته باشیم ....
..... و حالا جدید رو اضافه کردیم اون قبلی از دیتابیس سلکت بشه ...
و بعد از ازاینکه خرید نهایی رو انجام دادیم اطلاعات خریدار بره تو جدول ما بشینه ... و حالا این جدول مربوط به سبد خرید ما هم خالی بشه یا delete بشه به عبارتی درسته؟

خرید آنلاین هم به شکل زیر هست
اول از همه یه جدول محصول (Product ) داریم
بعد یه جدول سفارشات (Order) و یه جدول هم جزئیات خرید OrderDetails که توی جدول Order می تونیم بگیم آیا سفارش نهایی شده یا نه که با یه فیلد می تونیم این رو مشخص کنیم
عکسی از جدول ها رو می ذارم ... هر کار کردم نمیشه عکس بذارم :|
این کد دیتابیس
شما خودت اجرا کن نگاهش کن





SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[OrderDetails](
[OrderDetailID] [uniqueidentifier] NOT NULL,
[OrderID] [uniqueidentifier] NULL,
[ProductID] [uniqueidentifier] NULL,
[OrderedCount] [int] NOT NULL,
[CreateDate] [datetime] NULL,
CONSTRAINT [PK_OrderDetails_1] PRIMARY KEY CLUSTERED
(
[OrderDetailID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [dbo].[Orders] Script Date: 10/27/2013 02:43:33 ب.ظ ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Orders](
[OrderID] [uniqueidentifier] NOT NULL,
[UserID] [uniqueidentifier] NOT NULL,
[OrderDate] [datetime] NOT NULL,
[IsFinalized] [bit] NOT NULL,
[CreateDate] [datetime] NULL,
CONSTRAINT [PK_Orders_1] PRIMARY KEY CLUSTERED
(
[OrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [dbo].[Products] Script Date: 10/27/2013 02:43:33 ب.ظ ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Products](
[ProductID] [uniqueidentifier] NOT NULL,
[ProductGroupID] [uniqueidentifier] NOT NULL,
[ProductTitle] [nvarchar](250) NOT NULL,
[ProductDescription] [ntext] NOT NULL,
[ProductPrice] [int] NOT NULL,
[ProductImageUrl] [varchar](250) NULL,
[ProductThumbnailImageUrl] [varchar](250) NULL,
[CreateDate] [datetime] NULL,
CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED
(
[ProductID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[OrderDetails] ADD CONSTRAINT [DF_OrderDetails_OrderDetailID] DEFAULT (newid()) FOR [OrderDetailID]
GO
ALTER TABLE [dbo].[OrderDetails] ADD CONSTRAINT [DF_OrderDetails_DateCreate] DEFAULT (getdate()) FOR [CreateDate]
GO
ALTER TABLE [dbo].[Orders] ADD CONSTRAINT [DF_Orders_OrderID] DEFAULT (newid()) FOR [OrderID]
GO
ALTER TABLE [dbo].[Orders] ADD CONSTRAINT [DF_Orders_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
GO
ALTER TABLE [dbo].[Products] ADD CONSTRAINT [DF_Products_ProductID] DEFAULT (newid()) FOR [ProductID]
GO
ALTER TABLE [dbo].[Products] ADD CONSTRAINT [DF_Products_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
GO
ALTER TABLE [dbo].[OrderDetails] WITH CHECK ADD CONSTRAINT [FK_OrderDetails_Orders1] FOREIGN KEY([OrderID])
REFERENCES [dbo].[Orders] ([OrderID])
GO
ALTER TABLE [dbo].[OrderDetails] CHECK CONSTRAINT [FK_OrderDetails_Orders1]
GO
ALTER TABLE [dbo].[Orders] WITH CHECK ADD CONSTRAINT [FK_Orders_Users1] FOREIGN KEY([UserID])
REFERENCES [dbo].[Users] ([UserID])
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Users1]
GO
ALTER TABLE [dbo].[Products] WITH CHECK ADD CONSTRAINT [FK_Products_ProductGroups] FOREIGN KEY([ProductGroupID])
REFERENCES [dbo].[ProductGroups] ([ProductGroupID])
GO
ALTER TABLE [dbo].[Products] CHECK CONSTRAINT [FK_Products_ProductGroups]
GO



خب تا اینجا کالا ها ثبت می شه سفارش هم ثبت میشه
حالا باید 2 تا جدول داشته باشیم تا اطلاعاتی که از بانک بر میگرده رو ذخیره کنیم که کد 2 تا جدول رو هم براتون میذارم






SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PaymentLogs](
[PaymentLogID] [uniqueidentifier] NOT NULL,
[OrderID] [uniqueidentifier] NULL,
[TrackingCode] [varchar](50) NULL,
[PaymentResponseCode] [nvarchar](250) NULL,
[PaymentResponseMessage] [nvarchar](250) NULL,
[IsSuccessful] [bit] NOT NULL,
[PaymentDate] [datetime] NOT NULL,
[CreateDate] [datetime] NULL,
CONSTRAINT [PK_PaymentLogs_1] PRIMARY KEY CLUSTERED
(
[PaymentLogID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[PaymentUniqueNumbers] Script Date: 10/27/2013 02:45:34 ب.ظ ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[PaymentUniqueNumbers](
[PaymentUniqueID] [uniqueidentifier] NOT NULL,
[OrderID] [uniqueidentifier] NULL,
[CreateDate] [datetime] NULL,
CONSTRAINT [PK_PaymentUniqueNumbers_1] PRIMARY KEY CLUSTERED
(
[PaymentUniqueID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
ALTER TABLE [dbo].[PaymentLogs] ADD CONSTRAINT [DF_PaymentLogs_PaymentLogID] DEFAULT (newid()) FOR [PaymentLogID]
GO
ALTER TABLE [dbo].[PaymentLogs] ADD CONSTRAINT [DF_PaymentLogs_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
GO
ALTER TABLE [dbo].[PaymentUniqueNumbers] ADD CONSTRAINT [DF_PaymentUniqueNumbers_PaymentUniqueID] DEFAULT (newid()) FOR [PaymentUniqueID]
GO
ALTER TABLE [dbo].[PaymentUniqueNumbers] ADD CONSTRAINT [DF_PaymentUniqueNumbers_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
GO
ALTER TABLE [dbo].[PaymentLogs] WITH CHECK ADD CONSTRAINT [FK_PaymentLogs_Orders] FOREIGN KEY([OrderID])
REFERENCES [dbo].[Orders] ([OrderID])
GO
ALTER TABLE [dbo].[PaymentLogs] CHECK CONSTRAINT [FK_PaymentLogs_Orders]
GO
ALTER TABLE [dbo].[PaymentUniqueNumbers] WITH CHECK ADD CONSTRAINT [FK_PaymentUniqueNumbers_Orders1] FOREIGN KEY([OrderID])
REFERENCES [dbo].[Orders] ([OrderID])
GO
ALTER TABLE [dbo].[PaymentUniqueNumbers] CHECK CONSTRAINT [FK_PaymentUniqueNumbers_Orders1]
GO



موفق باشید :)