تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 22

نام تاپيک: قرار دادن کد شناسایی برای هر خریدار به طور اتوماتیک

  1. #11
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

    این در حالی هستش که در فرمی که هنوز پر نکرده و ارسال نکرده خوب نیست کدی به عنوان کد شناسایی گذاشت
    کسی همچین چیزی نگفته، اگر شما اطلاعات را در دیتابیس ذخیره کنید و به مطالب پست 3 و 4 دقت کنید، میتوانید بعد از INSERT کد primarykey را تحویل بگیرید که دستورش در SQLServer عبات SELECT @@IDENTITY است.

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

    حمیعاً موفق باشید.

  2. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  3. #12
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2008
    پست ها
    5

    پيش فرض

    H2 جان ممنونم ازت.
    من اطلاعات وارد شده توسط کاربر رو در ایمیل ذخیره میکنم، دقیقا مثل فرم تماس با ما در سایت. چیزی رو هم که توی ذهنم دارم این هستش که یک فرمی مثل فرم تماس با ما باشه، فقط یک فیلد به نام محصولات درخواست شده باشه که طرف داخلش بتونه تایپ کنه، این فرم اصلا به دیتا بیس کاری نداره و مستقیما به ایمیل [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] میره.

  4. #13
    آخر فروم باز MAXXX's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    1,990

    پيش فرض

    سلام

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

    نام این چیزی که شما میگویید یک رابطه "یک به چند" یا ساده است!!
    یا با لیست کالا ها میشود چند به چند ...

    ما روابط پیچیده تری هم داریم.

    شما باید سه جدول در بانکتان ایجاد کنید...
    - جدول اول اطلاعات کلی خرید را ثبت میکند، کد خرید، نام و آدرس و تلفن مشتریف تاریخ و...
    - جدول کالها، شامل کد کالا و نام و قیمت و توضیحات و سایر مشخصات.
    - جدول سوم هم زیر اقلام خرید شامل کد خرید و کد حنس و قیمت در لحظه خرید و تعداد

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در واقع جدول سوم فقط شامل یک سری عدد است...
    که مهم ترین ان مشخص کردن جفت عدد کدفاکتور/کد کالا است که با هم مشترکاً کلید جدول هستند.

    بعداً برای نمایش مقادیر به راحتی میتوانید با دستورات select-join اطلاعات را استخراج کرده و نشان دهید...

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

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

    یا اگه به ازایه هرکالایه خریداری شده یدونه فیلد بسازیم مثله ID_Product1 و ID_Product2 و ID_Product3 و.....
    که اینطوری تویه سطر هایه مختلف جدول به مشکل بر میخوریم

  5. #14
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    من اطلاعات وارد شده توسط کاربر رو در ایمیل ذخیره میکنم ...
    عجب !
    پس شما فقط نیاز به یک counter دارید، یک شمارنده 32 بیتی ! یک شمارنده که در قبال هر عملیات یک واحد افزایش یابد ...


    برای ایجاد یک شمارنده سه مسله اساسی وجود دارد...
    1) این عدد باید برای تمام کاربران منحصر به فرد باشد و در دسترس اشتراکی همه باشد.
    راه حل:
    استفاده از کلمه static در #C و Shared در VB و ???? در PHP !
    یا
    استفاده از شی Application در ASP و ASP.Net یا معادلی در PHP
    یا
    استفاده از یک دیتابیس و محل ذخیره دائمی و مشترک، مثل SQLServer و Oracle و MySQL و یا حتی یک فایل در یک محل مشترک.


    2) این عدد باید در زمان افزایش همزمان به وسیله چند ریسمان، درست اضافه شود.
    (این یک مشکل قدیمی است که اگر برنامه نویس باشد، حتماً میدانید...
    اگر یک محل حافظه همزمان توسط 100 رسمان به علاوه یک شود، نتیجه به علاوه 100 نخواهد بود!)
    را حل:
    استفاده از lock یا Interlocked در #C و SyncLock یا Interlocked در VB و ؟؟؟؟ در PHP !
    یا
    استفاده از Application.Lock/Unlock در ASp و ASp.Net و یا معادلی در PHP
    یا
    استفاده از دستور SQL-UPDATE در یک بانک اطلاعاتی.


    3) این عدد میباید ماندگار باشد و با ریست سرور و یا هر ایرادی در سرور، صفر نشود، یعنی باید یک جایی در هارد دیسک ذخیره شود.
    راه حل:
    استفاده از یک دیتابیس و محل ذخیره دائمی و مشترک، مثل SQLServer و Oracle و MySQL و یا حتی یک فایل در یک محل مشترک.

    =====

    چون من PHP بلد نیستم، پس کدی نمیتوانم بگذارم که به درد شما بخورد، در این مورد باید دوستان دیگر کمک کنند...

    ولی شما خودتان میتوانید بین این سه مشکل و راه حل، تعادلی با معلومات خود ایجاد کنید تا هر سه حل شود.

    موفق باشید.

  6. #15
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

    یا اگه به ازایه هرکالایه خریداری شده یدونه فیلد بسازیم مثله ID_Product1 و ID_Product2 و ID_Product3 و.....
    باز هم تفکر درستی ندارید ... طبق همان قوانین نرمال سازی، اطلاعات و دیتاهای جدید باید در سطرهای جدید قرار بگیرند نه ستون های جدید...

    ما جدول سوم را ایجاد کردیم که دیگر مجبور نباشیم برای هر محصول یک فیلد/ستون داشته باشیم تا دستمان باز باشد هر چند سطر را که میخواهیم اشغال کنیم، وگرنه مگر بیکار بودیم جدول جدید سوم را بسازیم ؟

    مثلا اگر فاکتور 12 شامل کالاهای 114 و 117 و 220 و 795 و از هر کدام یک عدد ولی با قیمتی متفاوت (یک سری اعداد الکی) باشد جدول سوم چنین خواهد شد ...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توجه کنید که کلید این جدول ترکیبی است و فیلد ID_Invoice/ID_Product با هم کلید و یکتا هستند و هر کدام به تنهایی میتوانند بارها تکرار شوند ولی نمیتوانیم دو سطر فاکتور 12 و کالای 114 داشته باشیم (البته فیلد تعداد خرید را داریم...)

    نتیجتاً با این مکانیزم به راحتی میتوانید دستورات SQL را هم پیاده سازی کنید.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مطالب فوق را با دقت و حوصله بیشتر چند بار بخوانید تا کامل برایتان درک شود.

    یه چیزیایی راجبه نرمال سازی از درسه بانک هایه اطلاعاتی یادم میاد لازم شد برم کتابش رو دوباره بخونم
    کار خوبی است !

    موفق باشید.

  7. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  8. #16
    داره خودمونی میشه norozy's Avatar
    تاريخ عضويت
    Feb 2009
    پست ها
    60

    پيش فرض

    میتوانید بعد از INSERT کد primarykey را تحویل بگیرید که دستورش در SQLServer عبات SELECT @@IDENTITY است.
    ممنون من یه متغییر به نام id توی دیتابیسم ایجاد کردم که بعد از ورود کاربر یه کد براش تولید میکنه اما اگر این دستور رو بیشتر توضیح بدین که چطور و کجا استفاده میشه ممنون میشم

  9. #17
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    گمانم این اولین متن من در سال 88 باشد! عید را به تمام دوستان و اعضای سایت تبریک میگم.
    =====
    ممنون من یه متغییر به نام id توی دیتابیسم ایجاد کردم که بعد از ورود کاربر یه کد براش تولید میکنه اما اگر این دستور رو بیشتر توضیح بدین که چطور و کجا استفاده میشه ممنون میشم
    اول مجدداً تاکید میکنم که من با MySQL کار نکرده ام ...

    الآن دو حالت دارد،

    1) یا شما میخواهید متن درخواستها را هم در دیتابیستان ذخیره کنید...
    که در این صورت بهترین راه همان Autonumber است.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    2) یا شما همچنان تمایلی به ذخیره کل اطلاعات در دیتابیس ندارید و فقط میخواهید از همان ایمیل استفاده کنید و یک کد منحصر به فرد داشته باشید...
    در این صورت بهتر است جدولی دو فیلده در دیتابیس داشته باشد که فیلد اول primarykey باشد و فیلد دوم حاوی آخرین عدد تخصیص داده شده.
    (میتوانید مقدار فیلد اول را میتوانید هر عددی قرار دهید (یک عدد ثابت و مشخص که مشخصه این تنظیم باشد، مثلاً 100)!!! و از بقیه ظرفیت جدول هم برای ذخیره سایر تنظیمات عددی برنامه استفاده کنید.)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دستور فوق (با شرایط جدول تشریح شده) در Microsoft SQL Server در هر اجرا باعث افزایش و برگردادن یک عدد منحصر به فرد و غیر تکراری میشود. (یعنی کافی است برای هر خرید یک بار فراخانی شود و عدد خروجی گرفته شود.)
    میتوان دستورات فوق را یک SP کرد تا ساده تر اجرا و فراخانی شوند.

    (میتوانم کد برنامه نویسی هم بگذارم ولی طبیعتاً کدم VB.Net یا C#.Net یا VC++.Net است و PHP نخواهد بود.)
    موفق باشید.

  10. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  11. #18
    داره خودمونی میشه norozy's Avatar
    تاريخ عضويت
    Feb 2009
    پست ها
    60

    پيش فرض

    عید همگی مبارک
    من مشکلم با دیتابیسمه که sql ه !!!!!!!!!!توی sql همین ویژگی autoincrement رو چطور ایجاد کنم؟

  12. #19
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    معمولاً در همان ویراستاری که جدول میسازید و نام و نوع فیلدها(ستونها) را مشخص میکنید، اگر کمی به اطراف دقت کنید option ای برای این تنظیم خواهید یافت.

    مثلاً در Microsoft SQL Server در زمان تنظیم درج فیلد جدید، در پنجره تنظیمات میتوانید گزینه Identity Specification را فعال کنید و اعداد شروه و پله افزایش را هم مشخص کنید.
    (کمی در ادیتور MYSQL تان دقت کنید، گزینه ای خواهید یافت.)

    ضمن اینکه با دستورات SQL هم میتوان جدول و فیلد ساخت و فیلدی را برای Autonumber معرفی کرد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  13. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  14. #20
    داره خودمونی میشه norozy's Avatar
    تاريخ عضويت
    Feb 2009
    پست ها
    60

    پيش فرض

    یه سوال دیگه شما اگه بخواید یه فایل pdf رو تو دیتابیس با php لود کنید چه ن.عی رو براش انتخاب میکنید varchar و varbinry جواب نداده

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •