شكرا على الكتاب وشكرا على كل هده المجهودات
كيف ممكن أعمل موقع تجاري
اسف جدا على هذا التغيير بسبب نقل الموضوع و ربما تجدون وصلات خطأ ابلغوني عنها .. و شكرا ..
لقد قمنا سابقا بطرح مواضيع تهتم بهذا الموضوع منها مواضيع تخص كتب الكترونية
عن التجارة الالكترونية و منها موضوع عن تصميم متجر الكتروني صغير بدأ به الأخ
عبد الرحمن المعزاب أعاده الله الينا سالما .. و أخيرا قمت بوضع مثال شبه نهائي
هناك .. و طبعا ذكرت موضوع خطير و مهم و الكثير يتجنبه و هو بطاقات الإئتمان
على هذه الوصلة :http://www.arabteam2000.com/forum/Details.asp?id=14305
طبعا هنا اود ان اعتبر الموضوع غير عن كل المواضيع .. أود ان نعمل المشروع كاملا من
اول صفحة لاخر صفحة بطريقة سليمة جداجدا .. بدأ من تحليل نظام المشروع الى انهاء
التعامل مع الطلبيات عن طريق بطاقات الإئتمان مع ذكر أمثلة حية لكل ما يلزم ..
أيضا سنركز على أفكار مهمة جدا و هي سلة المشتريات و سنعرضها بطريقة
فخمة جدا و مميزة حتى عن الأجانب .. و سنعالج حكاية سلة التمنى و ارتباطها
بالزبائن و كيفية تبادل البيانات بينها و بين سلة المشتريات ..
و كلها مواضيع مهمة و خطيرة جدا جدا .. سنتطرق لعملية ارسال البريد
و الرسائل سواء للزبائن أو ارسال اشارة بوجود طلبية لمدير الموقع ..
هناك العديد من الأفكار و الفنيات و الموقع سيشمل أغلب أفكار ال ASP من أولها
لاخرها و سيشمل أغلب الكائنات ..
فمن يرغب بالبدأ بالمشروع أن يكتب اسمه هنا لانني لو رأيت ان هناك همة و رغبة
فسأبدأ العمل من الأسبوع القادم .. لان العمل ضخم نوعا ما و قوي جدا و يحتاج لتعب
و ليس من الضروري أن تكون محترفا او متقننا لل ASP حتى تدخل غمار التجربة ..
أصلا هذا الموضوع أعتبره درسا مطولا ..... أرجو من الجميع و المهتمين الدخول للاستفادة
و شكرا لكم جميع جميعا ..
--------------------------------------------------------------------------------
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/22/2002 6:34:45 AM
--------------------------------------------------------------------------------
مشاء الله عليك
نعم اخي
انا معك ومتحمس جدا لموضعك
وياليت نبدا باقرب وقت قبل حلول الامتحانات
وبما ان المتجر سيكون كبير ومن المتعب الانفراد في بنا ئه
نقسم العمل على جميع الاخوه المشاركين ويتم النسيق
وشكراا
اللهم زدني علما
الكاتب: brave man بتاريخ: 9/22/2002 9:51:41 AM
--------------------------------------------------------------------------------
انا معك
السلام عليكم
فكرة عظيمة اخي العزيز و ان شاء الله انا معك في هذه الفكرة و مستعد لتوصيل الطلبات
و يا ريت فعلا نبدأ بأسرع و قت
هذا الاقصى قد نادانا من سيعيد القدس سوانا
الكاتب: أحمد عدلي بتاريخ: 9/22/2002 12:44:37 PM
--------------------------------------------------------------------------------
You can fly while you can touch the sky
شكرا لكم لأنكم أول المتفاعلين و ان شاء الله أرى المزيد .. لكن تعقيبي كبداية أن العمل
لن يكون موزعا .. بل سيشرح هنا حبة حبة .. دالة دالة .. حتى تعم الفائدة .. لاننا لن نعمل
المشروع لنجهزه .. بل ليكون درس تطبيقي عظيم بكل معانيه و يعرض بأسلوب لأول مرة
بالوطن العربي و منتدياته .. انتظروا قريبا و ستروا الفرق .. سنبدأ أولا في تحليل الموضوع حتى نشعر
بمدى اهمية تحليل المشروع عندما تنتبه لمواضيع ربما غابت عن بالك .. ننتظر كم يوم فقط و نبدأ
العمل .. و ان شاء الله تخرجوا مبسوطين منه و انا لا أريد أن استبق الأحداث ..
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/22/2002 1:41:43 PM
--------------------------------------------------------------------------------
:)
أنا ايضا معك
ولكن المشكلة أنني مبتدأ بتصميم صفحات النت وإن شاء الله نظل معكم للنهاية
:)
أستطيع أن أعطي أفكارا وطرق جيدة نوعا ما ;)
--------------------------------------------------------------------------------
وفوق كل ذي علم عليم anas-co@scs-net.org
الكاتب: أنس كردي بتاريخ: 9/22/2002 2:10:41 PM
--------------------------------------------------------------------------------
هيا نصمم متجر الكتروني
انا مستعدة للمشاركة لكني في حكاية الدفع الاليكتروني مش أقوي
الكاتب: TODO بتاريخ: 9/22/2002 7:22:25 PM
--------------------------------------------------------------------------------
تصحيح
حدثت غلطة مطبيعة في الرد السابق والتصحيح انا مستعد وليست مستعدة
الكاتب: TODO بتاريخ: 9/22/2002 7:46:30 PM
--------------------------------------------------------------------------------
رد
شكرا لك أنس و أهلا بك كمنضم جديد انت و الأخ TODO و اقول لك ستصبح ان شاء الله
قويا في حكاية الكريديت ..
الان نأتي لشرح فكرة الموقع ..
*********************************************************
فكرة المتجر انه يعرض البضاعة على شكل أقسام مثل كتب اسلامية و أدب و برمجة و غيرها لو ان الموقع خاص ببيع الكتب مثلا .. طبعا كل زائر للموقع يستطيع التنقل به و مشاهدة المنتجات
لكن لا يستطيع استخدام سلة المشتريات و سلة التمني الموضوعة لكل زبون مسجل حتى يضع فيها المنتجات التي يرغب شراءها لكنه لا يملك المال الكافي ليعود اليها من خلال حسابه في الموقع ليشتريها لاحقا .. طبعا هناك مرحلة للتسجيل و هناك لوحة تحكم للمدير يضبط بها الموقع مثل حالة الصيانة او عرض السعر بالدولار او الدينار مثلا ..
سنراعي عدة أشياء بالموقع مثل أننا سنعرض المنتجات على شكل صفحات للتدريب على ال Pagination أي تقسيم الصفحات و سنستخدم أزرار للتنقل بين الصفحات كما سنعض في كل سطر 3 منتجات فقط حتى تظهر بشكل أجمل و بها حركة جميلة تقوي من قلبك برمجيا ..
كما سنراعي انه قد يكون هناك خصم على كل المنتجات او على منتج معين و ان كان على منتج معين فسنقوم بعرض السعر الأصلي مشطوبا و بجانبه الجديد بعد الخصم بلون مميز أما ان كان الخصم على كل الموقع فنقوم بعملية رياضية على المبلغ الاجمالي في سلة المشتريات ..
أيضا هناك نقط هامة سنتطرق لها .. كالتالي :
نقطة ال session او الجلسة :
سنستخدم في الموقع 3 جلسات واحدة للزبون و واحدة لسلة المشتريات و الأخيرة لسلة التمني .. و هناك مشكلة خطيرة .. مثلا عندما ننوي انهاء او افراغ سلة المشتريات فهذ يعني اننا نود ان نفرغ الجلسة أو ننهيها و اأغلب يستخدم الأمر session.abandon و هذا الأمر سينهي كل الجلسات الباقية أيضا مثل حساب الزبون أو سلة التمني دون أن يحفظ ما بها .. لذا سنقوم بكم اجراء يجنبنا هذه المشاكل..
نقطة التعامل مع كمية من المتغيرات لنفس العنصر في الحقل و قد ذكرن هذه النقطة في المنتدى بنوع من التفصيل لكن سنعود لها حتى تثبت ..
أيضا هناك نقطة مهمة و هي العلاقة بين سلة المشتريات و سلة التمني فهي هامة جدا جدا و يجب ان نكون حريصين فيها لاننا سنستخدم كائن ال Dectionary لنكون استغلينا أكثر جوانب اللغة و ملحقاتها تماما ..
أيضا سنتعمل مع ارسال البريد الحامل لبيانات الزبون و كيفية ارسال نشرات دورية للزبائن ..
كما سننقاش كيف سيتم التحكم في عرض و اخفاء منتج لفترات زمنية .. مثلا هناك تصاميم شتوية و أخرى صيفية و نود اظهار الصيفية بالصيف و الشتوية بالشتاء دون حذف المنتجات ..
و هناك العديد و العديد من الأفكار و المشاكل و التي بعدها ستكون قادرا على ادارة أضخم مشروع asp ان شاء الله ...
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/23/2002 5:36:15 AM
--------------------------------------------------------------------------------
رد
سنحتاج بداية للصفحات التالية :
- الصفحة الرئيسية و هي تعرض وصلات للموقع مثل العروض و أقسام المنتجات و غيرها ..
- صفحة للمنتجات تعرضها و بها حكاية تقسيم الصفحات و ملحقاتها ..
- صفحة خاصة بتفاصيل كل منتج .
- صفحة لإضافة المنتج لسلة المشتريات .
- صفحة لسلة المشتريات .
- صفحة للاضافة لسلة التمني .
- صفحة لسلة التمني مرتبطة بقاعدة البيانات و معلومات الزبون .
- صفحة لتسجيل الزبون .
- لوحة تحكم لمدير الموقع بها خصائص الموقع .
- لوحة تحكم لكل زبون ليتحكم في حسابه مثل الاتصال بالنشرة الدورية و تعديل بياناته و التحكم في عرض المنتجات و الخروج من حسابه ..
****************
أولا يجب عمل مجلد خاص بالعمل لنسميه جميع arabTeamCenter
به ملف للاتصال نكتب فيه التالي :
<%@codepage=1256%>
<%
Set cn = CreateObject("ADODB.Connection")
cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" & _
Server.MapPath("/arabTeamCenter/db/db.mdb"))
%>
و نقوم بحفظ ملف الاتصال باسم connection.inc
نحتاج لعمل قاعدة بيانات باسم db.mdb بها التالي :
عدد من الجداول و كل جدول به عدد من الحقول كالتالي :
1- categories(categoryId,categoryName,publish) 2- products(productId,productName,price,discount,publish,amount if neede) 3- admin(adminId,adminName,adminPassword) 4- customer(customerId,fName,lName,login,password,paymentMethod,tel,fax,country,email,newsletter) 5 config(id,maintenance,displayofProducts) 6- orders(orderId,dateOfShopping,customerId,productsId,totalPayment)
طبعا اعتقد ن الجداول و حقولها واضحة و يا ريت نوحد العمل علشان ما نتوه و نبعد .. نحن نريد ان نعمل كل شيء هنا قبل أن نبرمجه بالبيت .. و لا تقل بأنك أخذت العمل جاهزا او نسخته و لصقته .. لاننا هنا سنناقش و بجهازك ستبرمج على كيفك حسبما فهمت .. نريد ان نكون متفاهمين .. اذا عندك مشكلة اسأل و لو ظننت انها سهلة او تافهة او غير هذا من الحجج الواهية .. اسأل فهذا العمل اعظم فرصة للتعلم و الاحتكاك بالمشاريع التجارية التي ستكون عمود الانترنت الفقاري قريبا حتى عندنا نحن العرب فلا تقلقوا .. ..
طبعا العمل القادم انا سنبدأ في تصميم الصفحة الرئيسية و عرض الأقسام .. لكن قبل هذا كله أتمنى من أن يضع
أو يحجز كل منكم مساحة على موقع brinkster حتى يرينا ما فعل حتى يصبح هناك شعور بالمنافسة و يبتعد عنا شعور الكسل و التكاسل .....
شدوا حيلكم و إلى الأمام
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/23/2002 6:06:42 AM
--------------------------------------------------------------------------------
استفسار
هل سلة التمني تشمل الاشياء التي لم يشتريها المستخدم و لكنه سجلها في سلة المشتريات؟و هل الاضافة فيها باختياره ام لا؟
الكاتب: TODO بتاريخ: 9/23/2002 1:28:30 PM
--------------------------------------------------------------------------------
رد
أخ محمد!!! STOP هل بدأنا بالنط من أول درس! ماهو ملف inc ؟ وما فائدته؟ وهل القاعدة ستكون بنظام أكسيس 97 أم 2000 أم xp ؟
أخ TODO (أسمح لي أن أجيبك نيابة عن أستاذنا الأخ محمد)
بفرض أنك داخل لموقع كتب الكترونية وأخترت عشرة كتب تريد أن تشتريها ولكنك تفاجأت بالفاتوة بالنهاية هي 180 دولار وأنت ليس معك إلا 100 دولار عندها سوف تترك بعض الكتب بالمفضلة (سلة التمني) وتشتري بقية الكتب بالـ 100 دولار التي معك... وهكذا فإن الموقع سوف يذكرك بالمرة القادمة بأنك تمنيت سابقا كتبا ولم تستطيع شراءها
وفوق كل ذي علم عليم anas-co@scs-net.org
الكاتب: أنس كردي بتاريخ: 9/23/2002 3:21:52 PM
--------------------------------------------------------------------------------
ASP.NET
السلام عليكم
دائما يا أبو صلاح تجيب أفكار حلوة بس عندي ملاحظة مهمة وهي إنه ليش مايكون البرمجة بال ASP.NET لأني صراحة متحمس لها جدا وهي تعلمها أسهل من تعلم ال ASP للي توه بيتعلم من جديد أما اللي عنده خبرة في الASP فيكون التحويل لها سهل وبعدين كلنا بنستفيد لغة جديدة وقوية في مميزاتها ..............................................
الكاتب: almomaiaz بتاريخ: 9/23/2002 11:33:45 PM
--------------------------------------------------------------------------------
رد
أولا أشكرك أنس على توضيح سلة التمني .. بخصوص الملف inc هو امتداد لملف نضمنه
للوثيقة او صفحة الويب .. ممكن تخليه txt مثلا او أي امتداد .. ما تخاف ما في نط .. انت لما
ما تفهم اشي نط و احكي ...
ثانيا بخصوص قاعدة البيانات انت حر تسويها بأي قاعدة بيانات .. انا عن نفسي سأستخدم
أكسيس اكس بي ..
بخصوص الأخ المميز انا طرحت علي الفكرة و لا اكذن ان قلت اني فكرت بها و اني مقتنع
لكن هناك طلبات كثيرة بخصوص تعلم ال ASP و بعدين انا حتى الان لا اتقن ال ASP.NET
لاني حديثا جدا جدا حصلت على بيئة العمل و لا أملك كتابا بسنن ندرة الكتب هنا بفلسطين
لذا من الصعب أن أخوض غمار التجربة لأننا سنقع في مشاكل و نذهب لمتاهات .. ثم أن هناك
أشياء كثيرة و صعبة في هذا المشروع لست متفائلا بأنها ستمر بسلام و انا لست متقنا للغة ..
على العموم انا مبسوط جدا من طرحك للفكرة و أوعدك اننا بعد انهاء المشروع ان نقوم بصياغته
بلغة ال ASP.NET بنفس الطريقة حتى نتعلم جميعا و انا اولكم هذه اللغة و نكون حققنا انجازا
كبيرا لهذا المنتدى الذي سيبقى الأفضل برمجيا ..
ما رأيك بكلامي ؟؟؟؟
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/24/2002 9:19:28 AM
--------------------------------------------------------------------------------
تعديلات بسيطة
تعديلات بسيطة على الجداول ..
يا ريت تضيفوا حقلين لجدول المنتجات products و هم :
categoryId و هو خاص بالقسم التابع له المنتج و هو مفتاح ربط العلاقة بين جدول المنتجات
products و جدول الأقسام categories ..
و الحقل الاخر و هو description يقوم بشرح معلومات عن المنتج وهو من نوع memo ..
طبعا انا قمت بكتابة مقال طويل عريض مرتب لكن لا اعلم ما هذا النحس .. الملف لا يريد ان يفتح ..
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/24/2002 9:41:32 AM
You can fly while you can touch the sky
رد
للأخوة المبتدئين أود ان أوضح نقطة ..
يا ريت أن تقوموا بمراجعة كائنات ال ASP فقط بالتعرف عليها و على طرقها و خصائصها
على الأقل إما من خلال موقعي http://www.as4web.cjb.net/ أو من خلاال موقع الأستاذ أحمد الجفري
http://www.asp4db.cjb.net/ و ذلك حتى نسرع بالعمل و لا تقعوا في مشاكل او لبس ما ..
طبعا نحن هذا الأسبوع سنبدأه ببطء نوعي لكن من الأسبوع القادم سنسرع حتى ننهي المشروع
بأسرع وقت ..
مع تحياتي ..
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/24/2002 9:47:35 AM
--------------------------------------------------------------------------------
واصل نحن معك.................
الله يعطيك العافية يا محمد
بس ثبتوا الموضوع اذا امكن
ضعيفان يغلبان قوي
الكاتب: شبكة بتاريخ: 9/24/2002 10:33:32 PM
--------------------------------------------------------------------------------
الرجاء التوضيح
السلام عليكم
اريد ان اسال عن وظيفة جدول config ونوع بياناته و هل المقصود publish في جدولي categories و products هي الظهور او عدم الظهور؟
و قد قمت بعمل بعض صفحات لوحة تحكم لمدير الموقع هل أقوم بنشرها هنا والان؟الصفحات هي الدخول و الخروج و ارسال Newsletters للمشتركين
الكاتب: TODO بتاريخ: 9/24/2002 11:07:38 PM
-------------------------------------------------------------------------------------------------------------------------------------------------
رد
شكرا لك أخ شبكة على انضمامك و حكاية التثبيت غير موجودة الان لكن تأكد طول ما ان هناك اهتمام بالموضوع و ردود فالمقال مثبت و بالأعلى
و أحييك أخ TODO على نشاطك .. بس يا ريت نوحد العمل علشان ما نضطر نغير
publish خاصة بظهور او عدم ظهور المنتج كما قلتم
تكملة لما سبق ..
بما أن الهدف أن يستفيد أكبر عدد ممكن .. فأنا أنوي أن نبدأ ببطء في هذا الأسبوع فقط حتى يتسنى لمن لا يتقن اللغة أن يقوم بدراسة الكائنات على الأقل و اعتقد ان مدة أسبوع كافية للتعرف عليها و هناك موقعي www.as4web.cjb.net و موقع الأستاذ أحمد الجفري www.asp4db.cjb.net و أيضا الموقع الشهير www.w3schools.com و الذي اعتبرهما مصدرا كافيا لك ..و أؤكد أنه ليس من المهم أن تكون محترفا قبل هذا المشروع لكن المهم ان تكون بعده محترفا ..
ربما الأغلب متحفز لبدأ العمل لكن يجب أن نتروى لأن الصبر و التروي من أهم الأهداف التي أقصدها في هذا المشروع حتى لا نتعجل و تترتب علينا اخطاء فادحة نحتاج الكثير كي نصلحها ..
بداية العمل :
سنقوم بإدخال البيانات يدويا للجداول .. طبعا اهم شيء الان هو ان نضع أقساما في جدول categories و من ثم نضع عددا من المنتجات لا يقل عن خمسة في جدول products و طبعا لا ننسى العلاقة بين الجدولين و هي علاقة 1:M من خلال الحقل المشترك categoryId ...
أيضا يجب أن تتنتبه لأن الحقل publish للقسم في جدول categories أو للمنتج في الجدول products من نوع yes/no و أيضا وصف المنتج من نوع memo .... و هذه ستفيدنا في اظهار المنتج أو إخفاؤه في حالة وجود منتجات موسمية .. حيث ان كانت حالتها yes تعرض و الا تحجب .
أيضا افتح الجدول config و اجعل قيمة الحقل maintenance تساوي no أي أن الموقع ليس تحت الصيانة كحالة افتراضية للموقع .. و جعل display تساوي dollar أي أن عرض الأسعار بالدولار ..
نبدأ بالصفحة الرئيسية default.asp :
هناك احتمالين للموقع :
الأول : احتمال أن الموقع تحت الصيانة و هذا يؤدي لعده افتراضات و هي :
1- أن هناك زبون يقوم بالشراء و يجب أن تبقى بياناته حتى ينهي الشراء.
2- زائر جديد و يجب أن يحول مباشرة لصفحة تعلمه أن الموقع تحت الصيانة .
الثاني : المفروض ان تعرض الصفحة الأقسام ان وجدت او لا تعرضها في حالة اختراق الموقعو الغاء بياناته او خلل ما بالسيرفر او ارسال قاعدة بيانات جديدة مما أدى إلى عملية over writing ..
برمجة الصفحة :
دعونا نعتمد بداية طرق لتشريح الصفحة كالتالي :
< !--#include file="connection.inc"-- > // check if site under maintenance
Set configRs=cn.Execute("SELECT * FROM config")
IF configRs("maintenamce") ="yes" then
Response.redirect "maintenance.asp"
End IF
configRs.Close
Set configRs=nothing
// here we will write the code of displaying categoriesنجد مما سبق أننا استخدمنا include لادراج ملف الاتصال بقاعدة البيانات و الذي ذكرته بالأعلى .. ثم يليه قمنا بعمل سلسلة من السجلات باسم configRs تقوم بأستخراج كل السجلات من الجدول config الذي وظيفته تخزين بيانات الموقع و كلها مسجلة في سجل واحد أسندنا له بداية القيم يدويا ثم قمنا بالتأكد من حالة الموقع إن كان تحت الصيانة أو لا ..
طبعا كان الشرط هنا ان الحقل maintenance إن كانت قيمته yes فذلك يعني أن الموقع تحت الصيانة و يقوم بتوجيهنا مباشرة لصفحة الصيانة من خلال response.redirect .. وبهذا نحقق ما نريد من ان نوجه اي زائر جديد لصفحة الصيانة و ان كل مستخدم في سلة المشتريات او غيرها من الصفحات يكمل الشراء مالم يعد للصفحة الرئيسية .. طبعا الكود في أي صفحة ينفذ سطرا سطرا لذا للمبتدئين لا تقلق و تقول كيف سينقنا لصفحة أخرى و باقي الكود الخاص بالأقسام سيظهر .. في الحقيقة هو لن يظهر لان ترجمة الكود ستكون كالتالي : اولا سيتم ادراج صفحة الاتصال ثم تعريف الحقول و بعدها سيتم الدخول للشرط و الذي بموجبه سينتقل لصفحة الصيانة دون ان يمر على باقي الكود .. اما اذا لم يتحقق الشرط فسوف يتجاوز الشرط و ينفذ باقي الكود الخاص بعرض الأقسام ..
من المؤكد أن هناك طرق عدة لعرض الأقسام و منها أن تعرض في الصفحة الرئيسية الأقسام و منها تنتقل للمنتجات أو الطريقة الشائعة و هي أن تجعل على جانب الصفحة جدول للأقسام و بجانبه تفتح صفحة المنتجات و هناط طرق عدة منها ال include file و منها ال inLineFrame و هي أصعب من الأولى ..و تحتاج لفن و تركيز .. و قد تتعبك نوعا ما أو تسبب لك مشاكل أثناء ارسال البيانات .
أود أن انوه لنقطة مهمة و هي أننا سنضع التحليل و الأفكار هنا و أنا سأضع الكود لكي نستعين بها على استيعاب الموضوع جيدا .. لذا كلنا نقدر ماذا سيحدث لو أن الكل وضع أكواده في عمل ضخم مثل هذا و أحدهم قال لم يعمل كذا او كذا .. فالرجاء ان من يضع الكود هو فقط من شعر باليأس و الملل بعد أن حاول مرارا و تكرارا لان الهدف ان تحاول و تخطئ حتى تتعلم و تثبت علمك .. لا ان ننسخ و نلصق .. طبعا ما حد يزعل لان هذه لا شروط و لا إملاءات لكن خوفا على مصلحتك و المصلحة العامة ..
كما أتمنى و لا أطلب أنن تتجاوب معنا أولا بأول لأن هذا عمل جماعي .. و قد تترتب مشاكل لو اكتشفنا انك تعاني من مشكلة بصفحة العرض و نحن باخر المشروع ..لذا ان شعر أحدكم أنه تأخر أو عنده مشكلة يجب أن يعلمنا حتى نساعده لأننا لن نتخلى عن أحد و نود ان يستفيد الجميع و ليس اكبر عدد ..
أتمنى منك أن تساعدونا لان ننهي هذا المشروع بأسرع وقت حتى بندأ في مشروع جديد و أنا أرشح أن يكون كيف ترسل بطاقات الكترونية من موقعك .. طبعا اذا كان عندكم مشاريع أخرى لا مانع .. نطرحها و نناقشها بعد هذا المشروع ان شاء الله ..
للمساعدة في سرعة العمل أنا افضل عمل 3 صفحات و هي header.asp و هو يحوي وصلات لصفحات الموقع يدرج في كل صفحة و أيضا footer.asp يوضع بالأسفل به معلومات عن الحقوق و غيرها من المعلومات و أيضا و هو شيء مهم أن نكون صفحة باسم function s.asp نقوم خلالها بحفظ الدوال التي كوناها او استخدمناها ....
هذا ما لدي الان و أتمنى ان يوفقنا الان و الى الأمام جميعا ..
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/25/2002 12:32:35 PM
You can fly while you can touch the sky
رد
توضيح بسيط ..
جدول config به عدة حقول خاصة بادارة الموقع مثل حالة الصيانة
و طريقة العرض و غيرها من الخصائص للموقع ..
أتمنى ان من لم يفهم أي نقطة ان يذكرها هنا و كما قلت افهموا كائنات اللغة لمن لا يتقنها و الأهم response-request-session
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/25/2002 12:43:08 PM
--------------------------------------------------------------------------------
اقترااااااااااااح
اقتراااااااااااااح
لماذا لا تكون قاعدة البيانات mysql
لان الكل يعرف التعامل مع الاكسس
ولا كن الكثير يجهل التعامل معها
مجرد اقتراح اذا هذا الاقتراح سوف يوخر العمل
فا انا اول المعارضين له
--
اللهم زدني علما
الكاتب: brave man بتاريخ: 9/26/2002 5:51:30 AM
--------------------------------------------------------------------------------
رد
ما بيأخرنا هذا لكن انت اعمل ليك اي قاعدة بيانات حتى لو اوراكل ..
بعدين باخر المشروع راح نناقش كيف نحول من قاعدة بيانات لأخرى ..
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/26/2002 10:10:29 AM
------------------------------------------------------------------------------------
ملاحظات
1- جزاكم الله خيرا
2- نرجو تثبيت الموضوع
3- نرجو التمهل يا اخ محمد فنحن نلهث خلفك
4- جزاك الله خيرا
5-
هذا الاقصى قد نادانا من سيعيد القدس سوانا
الكاتب: أحمد عدلي بتاريخ: 9/26/2002 8:24:07 PM
--------------------------------------------------------------------------------
متجر الكتروني
السلام عليكم جميعا
اود ان اوضح لكم تصوري عن المشروع وكيفية قيامي به لتكونوا علي علم بما اقوم به وارجو منكم النصح والارشاد
اولا: صنعت ملف connection.inc و لم يعمل معي فقمت بتغييره الي :
<%
Set cn = CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("arabTeamCenterdbdb.mdb") & ";" & _
"Persist Security Info=False"
cn.Open(sConnection)
%>ثانيا: قسمت الموقع الي ثلاث اقسام(صفحات) رئيسية وهي:
الصفحة الرئيسية default.asp ووظيفتها بيان اقسام المنتجات المطلوب اظهارها.
صفحة القسم category.asp وتقوم باظهارمنتجات القسم المطلوب من الصفحة الاولي و تقسم المنتجات الي صفحات 3 منتجات لكل صفحة.
صفحة المنتج:وتقوم باضهار تفاصيل بيانات المنتج المطلوب من صفحة القسم.
ثالثا:فضلت بتكوين صفحات ادارة الموقع اولا لانها تتحكم في قاعدة البيانات و الموقع نفسه فتساعد في توفير الوقت و اختبار القدر علي التحكم في الموقع .
رابعا:وضعت حقل image في جدول products يحتوي علي اسم ملف صورة المنتج وقمت باضافة مجلدين واحد للصور و الاخر لملفات الادارة
خامسا:سؤال سلة التمني اين سوف تخزن حتي عودة المستخدم مرة اخري .
هذة افكاري حتي الان
الكاتب: TODO بتاريخ: 9/27/2002 5:42:41 AM
--------------------------------------------------------------------------------
رد
بخصوص أحمد عدلي أن بانتظارك مع اني ما بديت
بخصوص النشيط TODO انا متعمد ان تبقى صفحات الإدارة بالأخير
بخصوص الصفحات يبدو أنك لم تقرأ ما كتبت جيدا
صفحة categories تقوم بعرض القسم فقط مثل كتب برمجة او كتب دينية
و بس و اذا ضغطت على احداها تنتقل لصفحة تأخذ ال categoryId
و تستخرج المنتجات التي لها نفس اسم القسم .. و هي على شكل صفحات ..
و هكذا ..
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/27/2002 11:11:00 AM
--------------------------------------------------------------------------------
رد
سلة التمنى و سلة المشتريات اهم شيء بكل المشروع .. يا ريت تهدا شوي لأننا سنتحدث بالتفصيل عنها لاننا سنستخدم scripting.dictionary
و نربطها بال session ..
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/27/2002 11:14:47 AM
--------------------------------------------------------------------------------
رد
ماذا حصل لكم .. بالأمس تطلبون تثبيت الموضوع .. اليوم لا أرى ردود ..
عالعموم دعونا نوحد الفكرة و هي اننا سنصمم على مزاجناصفحة default.asp
تحتوي على صفحتين header.asp و category.asp و بالأسفل ممكن ننضيف footer.asp .. و طبعا اظنها سهلة للجميع .. غدا سأكتب الكود لصفحة category.asp و صفحة product.asp ..
و اعتقد أن اغلب يتقنها و لكن سنستخدم طريقة تقسيم الصفحات في الموضوع و بعدها سننتقل للفن و هو استخدام الكائن decionary و تعامله
مع ال session و هي طريقة سنستخدمها بدل من المصفوفات في سلة المشتريات .. لذا اتنى ان تراجعوا هذا الدرس بخصوص ال Dectionary
حتى يكون سهل للجميع لانه اصعب ما في الموقع ..
و الوصلة هنا ..
http://www.w3schools.com/asp/asp_ref_dictionary.asp
بالتوفيق .. حتى الأخ TODO حسدناه ..
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/28/2002 11:57:09 AM
--------------------------------------------------------------------------------
رد
مرحبا
لقد قمت بمعمل صفحت عرض الاقسام وعمل صفحت عرض المنتجات
وواجهتني مشكله في عرض الاقسام كيفيت وضع ثلاثة اقسام في عرض الصفحه فقط
وتم حلها بوضع عداد يعد 3 اقسام وينزل للسطر الجديد
ولكن انتضرك الدخول في سلة المشتريات والتبني لاني لا اجيد استخدامها
<% while not rs.eof
rr=rr+1
%>
</td>
<td width="10%"> <a href="a.asp?id=<% =rs("id") %>"> <img src=" <% =rs("imgcard")%> "width=150 height=100> </a>")
</td>
<% if rr=3 then
rr=0
response.write "</tr>"
end if%>
<%
rs.movenext
wend
%>اتمنا محاولات الاعضاء
لكي يضل الموضوع اعلى موضوع في القسم
وشكرا
اللهم زدني علما
الكاتب: brave man بتاريخ: 9/30/2002 8:19:17 AM
--------------------------------------------------------------------------------
رد
عمل ممتاز منك و هناك عدة طرق لتقسيم الخلايا بكل صف ل 3 خلايا
و هذه فكرة لتكتسب نوع من المرونة كالتالي :
تعمل عداد مع كل مرور في الدوارة و تعمل الشرط التالي اخر نفس اللفة :
if counter mod 3=o then response.write "< /tr >"
طبعا هاي فكرة و انت حر المهم النتيجة .. طبعا ننتظر كمان ردين علشان نبدأ موضوع السلة .. علشان خاطر الأخوة .. و تأكد باهتمامكم بالموضوع رح يبقى بالأعلى .. و يا ريت كل من يمر للموضوع فقط للمطالعة و مهتم فيه يكتب و لو مرحبا علشان نعرف ان هناك اهتمام و نستمر للاخر و شكرا لكم جميعا سواء مشاركين او متابعين ..
محمد خليل أبو صلاح
الكاتب: محمد خليل أبو صلاح بتاريخ: 9/30/2002 11:03:14 AM
You can fly while you can touch the sky
رد
للأخوة المبتدئين هذه طريقة متبعة لتقسيم الصفحات و لنكون منها صفحة عرض الأقسام مثلا و مشابهة لها فكرة عرض منتجات كل قسم ..
الكود كالتالي :
[l]
page=request.QueryString("page")
SQL="SELECT * FROM Categories"
SET rs=createObject("ADODB.recordset")
rs.open SQL,cn,3,3
if rs.EOF then
response.write "لا توجد أقسام حتى الان"
else
if page="" or page
rs.PageSize=12
page=rs.AbsolutePage
response.write ""
while not rs.EOF
path="showProducts.asp?productID="&rs("productId")
response.write "Category Name " & rs("categoryName")& ""
response.write " ' ممكن نعرض صورة للقسم أيضا ' هنا سنستخدم دالة لشريط التنقل بين الصفحات
' سأذكر الوصلة بالأسفل للموضوع
response.write "
rs.MoveNext
WEND
end if
% >
[/l]
طبعا الفرق بين هذه الصفحة و صفحة عرض المنتجات أن الأخيرة ستستقبل
باراميتر و هو productId ستقوم بأخذه و وضعة كشرط لجملة الإستعلام بالأعلى كالتالي :
[l]
SQL="SELECT * FROM products where productId="&request("productId")
SET rs=createObject("ADODB.recordset")
rs.open SQL,cn,3,3
[/l]
طبعا هناك فرق في وضع شرط جملة الاستعلام في حال ان القيم المستقبلة حروف او أرقام كالتالي :
[l]
' If string or charachter :
SQL="select * from products where productId='"&productId&"'"
' If number:
SQL="select * from products where productId="&productId
[/l]
بخصوص اظهار شريط للتنقل بين الصفحات ابحث عن موضوع تقسيم الصفحات في المنتدى
لترى كيف تعمل دالة printArrow ..
طبعا انا اعتذر ان ظهر أي خطأ فأنا كتبت الكود على الهواء مباشرة
لكن من يقرؤه لا يجد مشكلة في الفهم ..
طبعا عند فتح الصفحة لا توجد القيمة page في شريط العنوان لكن عند الانتقال للتالي سترى أن العنوان أضيف له التالي ?page=2
و هكذا ..
أين مشاركاتكم ؟؟؟؟؟
محمد خليل أبو صلاح
http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/2/2002 11:21:30 AM
--------------------------------------------------------------------------------
رد
الف شكر اخي محمد
الحمد لله رجعت للموضوع بعدما توقعت انك قررت عدم الاستمرار
وشكرا على الطريقه لاني عرضتها بدون تنضيم
ولكن لي سوال هو
rs.open SQL,cn,3,3
هنا لماذا استخدمت الارقام هذي 3:3
ما فائدتها
وشكرا اتمنا ادخووول في سلة المشتريات لاني متوقف عندها
--------------------------------------------------------------------------------
اللهم زدني علما
الكاتب: brave man بتاريخ: 10/4/2002 11:09:03 AM
--------------------------------------------------------------------------------
رد
مرحبا بكم من جديد .. طبعا تعليقا على كلام brave_man اولا .. طبعا اشكرك على المتابعة و يبدو انني لن أنقطع عن المشروع حتى لو انقطعتم انتم لأنني متأكد أنه هناك أعضاء ستأتي و تسجل يوما و تستفيد من المشروع و ربما ذلك بعد الاف السنين
بخصوص ال 3و3 هي خاصية تتعلق بقواعد البيانات يسمى Lock Type property
و ممكن تستفيد المزيد من هنا http://www.w3schools.com/ado/prop_rs_locktype.asp
أما الان نأتي للتعقيب على المشروع .. اولا يا ريت كل واحد يقوم بعمل ملف function s.asp
و يعمل له Include و هذا الملف يحتوي على الدوال حتى ننظم شكل الكود .. و طبعا يا ريت كل دالة لها اسم يدل عليها و تعليق اعلاها حتى لا تتوه فيها ..
لا ننسى وضع الإجرائية التالية :
[l]
sub write(text)
response.write text
end sub
[/l]
ها هو كود التنقل بين الصفحات و اعتقد انه واضح و يحمل متغيرين الاول رقم الصفحة و الثاني هو عبارة عن عدد الحقول التي تعرض في كل صفحة و طبعا الكود سهل وواضح و اللي يعاني من مشكلة يكتبها هنا لا يتردد ..
[l]
Function Arrows(page,pageCount)
path="collections.asp"
write ""
if cInt(page)>1 then
write "Home" & vbCrLf
end if
if cint(page)1 then
write "" & vbCrlF
end if
if cint(page)pagecount then
write ">>" & vbCrLf
end if
if cInt(page)rs.PageCount then
write "Last" & vbCrLf
end if
End Function
[/l]
بخصوص أضف المنتج لسلة المشتريات اعتقد ان كل واحد منا يستطيع عمل وصلة لملف اسمه addTocart.aspsp يقوم بإضافة المنتج ..سأذكر أولا الوصلة المفروض تظهر على كل وصلة أضف لسلة المشتريات ثم أذكر كود هذه الصفحة كالتالي :
[l]
' http://localhost/addTocart.asp?categoryId=...=2&productId=34
catId=request.QueryString("categoryId")
productId=request.QueryString("productId")
page=request("page")
if productId"" then
if isEmpty(session("Cart")) then
set session("Cart")=server.CreateObject("scripting.dictionary")
end if
set cartRs=cn.execute("select * from products where productId="&productId)
set objCart=session("cart")
DIM path
if page="" then path="products.asp?cat="&catId
if page"" then path="products.asp?cat="&catId&"&page="&page
if not objCart.Exists(productId)then
objCart.Add productId,1
write "
"
write ""
write "
Product which you selected added succesfully .." response.AddHeader "refresh","3;url="&path
else
write ""
write "
Product which you selected added before .."
write "
Moments to rediect you to the previous category .."
response.AddHeader "refresh","3;url="&path
end if
end if
%>
[/l]
طبعا كل ما هو باللون الأحمر عبارة عن نقاط مهمة و خطيرة ..
بالنسبة لمستخدمي ال PWS عليهم أن ينتبهوا لأننا استخدمنا response.addHeader لذا يجب أن يضيفوا التالي لأعلى الصفحة : response.buffer=1
أيضا يجب أن ينتبهوا لحكاية التعليقات فهي على ال PWS فقط على شكل ' لا // مما قد يسبب مشاكل لهم ..
--------------------------------------------------------------------------------
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/4/2002 1:04:14 PM
--------------------------------------------------------------------------------
رد
نأتي الان للشرح ..
طبعا استقبلنا قيم للمنتج و قسمه و رقم الصفحة ان وجد حى نعود للصفحة مباشرة لا لأول القسم ..
طبعا استخدمنا كائن الجلسة session لتخزين قيم أو معرفات المنتجات فيه و التي هي كافية لجلب باقي معلوماتها و قمنا بالتأكد من حجز الجلسة التي لن تكون موجودةفي حال أول زيارة و بالتالي ستحجز لتبدأ بتلقي أرقام المنتجات .. لكن لكي نتمكن من حجز المعرفات للمنتجات بطريقة أفضل استخدمنا كائن ال Dictionary و نحن تكلمنا بما فيه الكفاية في المنتدى عنه في موضوع خاص فيه و هو يعامل البيانات كمصفوفة ثنائية الأبعاد ( للمزيد تابع المواضيع السابقة )
طبعا طريقة التخزين قبل أن نأتي للبرمجةكالتالي : أننا نود أن نضيف عنصرا واحدا من المنتج الذي اخترناه وبعدها نعدل عليه في السلة ان كنا نود ان نجعلة اكثر .. طبعا ايضا يجب أن نراعي عدم تكرار المنتج المضاف و كل هذا اخذته بالاعتبار برمجيا .. كما أن الكائن Dectionary لا يسمح بتكرار رقم المنتج لأنه يخزنه على أنه مفتاح للبيانات و بالتالي فإن المفتاح وحيد لا يتكرر ..
قمنا باسناد قيمة الجلسة session للمتغير objCart حتىيسهل التعامل مع الجلسة ..
جملة if not objCart.Exists(productId)then وظيفتها التأكد من أن رقم المنتج غير مكرر كما ذكرنا طبعا اذا كان غير موجود يقوم بإضافة مفتاح جديد وهو رقم المنتج و يحدد القيمة واحد أي عنصر واحد من المنتج ثم تحدث عملية تحديث للصفحة و يعود المتصفح للصفحة التي تحتوي على المنتج في نفس القسم و كما قلنا أنه لو كان القسم به 50 منتج و قسمنا كل صفحة بحيث تعرض 10 منتجات فإن عدد الصفحات سيكون 5 و بالتالي ان لم نستخدم Page لتمرر رقم الصفحة في نفس المنتج فإن الصفحة ستعود للصفحة الأولى للقسم نفسه لأن قيمة page تساوي NULL أي "" و من شرطنا في تقسيم الصفحة انها ان كانت NULL أو أقل من واحد أن تصبح واحد وبالتالي تعرض أول صفحة ..
طبعا لتتأكد من إضافة البيانات كون صفحةسلة المشتريات shoppingCart.asp و اكتب فيها الكود التالي :
[l]
if not isEmpty(session("cart")) then
set objCart=session("cart")
for each item in objCart
write item & " is the product id.
"
' أيضا تستطيع استدعاء دالة تقوم بأخذ رقم المنتج و عرض بياناته
next
end if
[/l]
طبعا انت ستعرض رقم المنتج و أمامه جملة كالأعلى و ممكن ان تطورها و هذا هو المفروض و ان تستدعي دالة تمرر لها رقم المنتج و منه تستعرض باقي بياناته و أنا سأذكر الدالة هنا :
[l]
' write getInfo(item,"productName")
Function getInfo(pId,f)
set gxx=cn.execute("select * from products where productId="&pId)
if f"categoryId" then
getInfo=gxx(f)
else
getCat(gxx("categoryId"))
end if
End Function
Function getCat(pId)
set cx=cn.execute("select * from categories where categoryId="&pId)
write cx("categoryName")
End Function
[/l]
يظهر أن الدالة تأخذ رقم المنتج و نوع الحقل المطلوب اظهاره و مكتوب بالأعلى تعليق لاستدعائها كمثال .. طبعا الاستدعاء سيكون من جدول المنتجات .. لكن ان أردنا عرض اسم القسم فلن نتمكن لأن المدرج هو رقمه لذا وجب استدعاء دالة أخرى getCat تقوم بعرض اسم القسم التابع له المنتج ..
أيضا يجب أن نراعي اننا سنعرض سعر كل منتج و كل منتج له خصم ربما او لا لذا يجب أن نستدعي دالة تقوم بعرض السعر بعد اجراء بعض العمليات الخاصة بالخصومات كالتالي :
[l]
' نداء لسعر المنتج و مراعاة ان كان هناك خصم من الدالة الموجودة بالأعلى
reType getInfo(item,"price"),getInfo(item,"discount")
Function reType(price,discount)
if discount=0 then
write " " &price & vbCrLf & "$"
else
priceAfterDis=price-((price*discount)/100 )
write " " & price & "$ " & vbCrLf & vbCrLf & _
" " & priceAfterDis & " $"
end if
End Function
[/l]
أعتقد أن الدالة واضحة جدا و أنا ذكرت تعليق يشرح استدعائها بناء على القيم الممررة من الدالة الموجودة أعلاها و التي تأخذ رقم المنتج من المفتاح item و تعيد بيناته منها سعر المنتج price و الخصم discount و تقوم بارسالها لهذه الدالة ..
طبعا الناتج السعر ان لم يوجد خصم .. أو ان وجد الخصم يظهر السعر السابق بلون اسود مشطوب من الوسط و بجانبه السعر بعد الخصم ..
الحمد لله انني وصلت لهذا الجزء .. عالعموم اعتقد ان هذا هو أصعب جزء في الموضوع و يجب ان نتقنه و لو اتقناه سنكون خضنا مشوارا طويلا جدا جدا في المشروع .. و أصبحنا قريبين جدا من المحترفين ..
كل ما عليكم ان تقرأوا المقال مرة و مرتين و 3 و تفهموه ثم تنقلوه لصفحاتكم و تجروا التعديلات اللازمة و عدم تجنب الطريقة لأنها الأساس في الموضوع و الهدف تعليمي لا تطبيقي ..
بالتوفيق يا جماعة
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/4/2002 1:32:06 PM
--------------------------------------------------------------------------------
للرفع ..........................
--------------------------------------------------------------------------------
ضعيفان يغلبان قوي
الكاتب: شبكة بتاريخ: 10/5/2002 12:14:04 AM
--------------------------------------------------------------------------------
السلام عليكم
بسم الله
السلام عليكم ..
يظهر أنى وصلت متأخرا و لكنى منذ أول أمس قررت البدء فى تعلم لغة الـ ASP الرائعة ..
أرجو قبولى معكم مشاركا بما لدى من معرفة بالطبع خلاف الـ ASP
و متعلما جديدا لهذه اللغة الرائعة
شكرا لك أخ / محمد خليل على هذه المبادرة القوية و التى تحمل كثير من المعانى السامية ..
خالص دعائى لله بدوام العمل لنهاية حتى نخرج بمشروع قوى و منفرد على الساحة العربية على الانترنت ..
خالص شكرى للجميع
أخـــــBengaـــوكم
الكاتب: benga بتاريخ: 10/5/2002 12:58:34 AM
--------------------------------------------------------------------------------
رد
مرحبا شبكة و أهلا بك أخ benga معنا و ان شاء الله تستفيد المهم النية الصادقة لفهم هذا المشروع على الأقل ..
و للأسف ما أشوف أراء الإخوان .. يعني ما فهمت هل الشرح واضح أم لا أم هل هناك تأخر أو معوقات أو نقاط غامضة أو غيرها ..
أتمنى المزيد من المشاركات و التفاعل ..
محمد خليل أبو صلاح
http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/5/2002 11:00:01 AM
--------------------------------------------------------------------------------
رد
يا جماعة عدت القراءات ال 400 و أغلب الردود لي .. اذا انتو ما بتردوا يعني الكلام مفهوم و انا راح أكمل .. بس كما أوضحت يا ريت ما أحد يسأل عن أول المشروع عندما نصل لاخره .. انا سأعطي مهلة يومين .. بعدها سأكمل و أدخل في سلة التمني ..
و موضوع ال session و ال dectionary أهم موضوع بالمشروع .. اذا لم يفهمه أحد سيسبب له المشاكل ..
بالتوفيق ..
محمد خليل أبو صلاح
http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/5/2002 12:53:41 PM
-----------------------------------------------------------------------
رد
السلام عليكم
أسف علي الغياب عن المشاركة و لكن من طبيعتي عدم اكمال اي مشروع للاخر لااعلم السبب و لكن عندي اقتراح وهو بدلا من استخدام
Dectionary Object
نعمل جدول في قاعدة البيانات نضع فيه بيانات سلة المشتريات عن طريق ملف
addTocart.asp
ويكون حقول هذا الجدول
customerId و productId
وبدلا من دوال
getInfo
نستطيع الحصول عل بيانات المنتجات المطلوبة بجملة اس كيو ال واحدة وتبقي ايضا المنتجات المطلوبة مخزنة كسلة التمني يستطيع المشتري الرجوع اليها في اي وقت
و علي ما اعتقد اننا سنحتا ج الي جدول اخر يربط المنتجات المطلوبة في امر شراء وبين هذا الامر لاننا لانسطيع ان نخزن في جدول
orders
اكتر من منتج واحد في حقل
productsId
و لهذا فمن الافضل ان نحذفه من جدول
orders
و نضعه في الجدول المقترح
OrderProducts
و بذلك يتكون من حلقين هم
productId و orderId
هذة مجرد اقتراحات فقط
الكاتب: TODO بتاريخ: 10/6/2002 12:10:30 PM
--------------------------------------------------------------------------------
رد
تحية لك أخ TODO على التفاعل و أتمنى أن تكون هذه أول مرة تكمل فيها مشروع .. كما قلت أن هناك أكثر من حل .. لكن انت تعلم أن هدف هذا المشروع تعليمي .. لذا أنا أود طرح أفكار مميزة و جديدة كما أسلفت ..
عالعموم اريد اشوف مشاركاتك ..
محمد خليل أبو صلاح
http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/7/2002 9:43:29 AM
--------------------------------------------------------------------------------
رد
يا جماعة .. أنا مثل ما وعدتكم راح اكمل المشروع للاخر حتى لو يكمل أحد معي .. لكن اتمنى ان يتطوع احد ممن يقوم بالقاء نظرة و يخبرني هل شرح ال session مع ال dectionary واضح في المثال اللي بالأعلى علشان اعرف هل يجب ان اتابع او ان افصل في الشرح .. أو على الأقل ان كانت في مشكلة اعرف مكانها ..
يعني اعتقد هذا اقل شيء ممكن تخدموني فيه ..و شكرا لكم جميعا ..
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/8/2002 3:57:06 PM
رد
كنت أود أن أكتب للرفع .. لكن سامحوني فأنا أود أن أكتب للذكرى
--------------------------------------------------------------------------------
محمد خليل أبو صلاح http://as4web.cjb.net
الكاتب: محمد خليل أبو صلاح بتاريخ: 10/13/2002 2:00:37 PM
--------------------------------------------------------------------------------
.
ليش كذا بس ........................
والله نتابعك يا ابن الحلال وسبب عدم مشاركتي هي انني لم استطع تغير كلمة المرور وهي طويلة جداُ لا استطيع حفظها .................
المهم تابع ولو كنت وحدك ..................
الله يوفقك وينصركم يا رب
--------------------------------------------------------------------------------
ضعيفان يغلبان قوي
الكاتب: شبكة بتاريخ: 10/14/2002 12:09:18 AMYou can fly while you can touch the sky
أخ أبو صلاح أنا عاوز أشترك معاكم فى الموضوع ده و أنا كنت عملت تصميم لقاعدة بيانات لمتجر كتب دى بياناتها أرجو التكرم بالساح لى بالمشاركة للتعلم حيث ا،ى لا أعرف ألا sql server 2000و html وfront pageوبسيط جدا عنasp
ده مشروع نقوم به أنا و زملائى فى كورس الMCAD
أرجو ان يعجبكم
أهلا و سهلا بك و انا مستغرب بصراحة هذا الغياب عن هذا الموضوع المهم جدا جدا .. و لا أعلم السبب و أتمنى أن يكتب الأعضاء السبب في ذلك على الأقل نعرف كيف نشرح المرة القادمة .. و شكرا لك و سأقوم بالنظر للملفات ..:)
You can fly while you can touch the sky
طب ممكن خدمة يا أبو صلاح
عندى مشكلة فى كود ربط قاعدة البيانات مع صفحة asp
فهل يمكنك وضع هذا الكود هنا
مرحبأ أخي .. لكن أود اعلامك باننا ثبتنا هذا الموضوع في أول هذا القسم و يمكنك متابعة الموضوع هناك ..
بالتوفيق ..
You can fly while you can touch the sky
اخي husegypt أرجو منك متابعة ما كتبناه بالأعلى .. انا نظرت لقاعدة البيانات و هي عمل جميل .. يبقى البرمجة ..
طرحنا أهم النقاط لكن للأسف الإخوة لم يكملوا ..
أتمنى أن أراهم مرة أخرى هنا حتى نتابع ..
You can fly while you can touch the sky
هل معنى ذلك ان أقوم بعمل سكربت لها عن طريق ال SQL
أنا صراحة لم اشتغل على ال SQL-server من قبل .. مره نزل البرنامج و اتفرجت عليه و حذفته :D
المطلوب منك بعد انشاء الجداول و الحقول كما وضحت في ملفك المرفق .. أن تقوم بعمل connection string خاص بال SQL-server و هذا فقط الذي يختلف من قاعدة بيانات لأخرى و بعدين برمج متلك متل اي واحد مستخدم أي نوع من قاعدة البيانات ..
بالتوفيق ..(f)
You can fly while you can touch the sky
صديقى العزيز
عمل جيد كبداية
و لكن يجب عليك ان تستمر و تعمل على تعلم المزيد من الخبرة
You can fly while you can touch the sky
على فكرة المشروع رائعة ممكن اشترك معاكم على الاقل لتطوير المشروع
فى مشكلة كمان ان الوصلات بتاعة الامثلة كلها تقريبا مبتشتغلش يا ترى المشكلة عندى فى الجهاز
اخواني من لديه هذا الملف
ياريت يحطه لنا
محمد خليل أبو صلاح كتب:ارفقت نسخة نهائية للمشروع الأول الذي بدأناه تلبية لرغبة العديد من الأعضاء ..بالتوفيق
مساء الخير اخوي العزيز صراحه انا ابحث عن هذا الملف لكن للاسف الرابط اللي حطيته لايعمل
هذا الموضوع مغلق.