/
  • روشی برای جلو گیری از تکرار id

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی روشی برای جلو گیری از تکرار id
    نویسنده پیام
    navids_69 آفلاین
    عضو
    ***

    ارسال‌ها: 104
    تاریخ عضویت: ۱۳۹۰ آبان ۲
    اعتبار: 0
    تشکرها : 22
    ( 4 تشکر در 4 ارسال )
    ارسال: #1
    روشی برای جلو گیری از تکرار id
    سلام بنظر شما بهترین روش برای اینکه id در یک جدول تکرای نشه چی هست؟

    من در یک قسمت از برنامه کاربر می خواد فاکتور درست کنه حالا مشکل اینجاست که اگر دوتا کاربر بخوان باهم فاکتور درست کنن id تکراری میشه یعنی همون شماره فاکتور تکراری میشه بنظر من بهترین روش اینه که هر کاربری صفحه فاکتور رو باز می کنه یک insert انجام بشه که id ها تکراری نشه و بعد هر تغییری داد update بشه و تا اینجا هیچ مشکلی نیست خب ولی اگر کاربر صفحه فاکتور رو باز کرد و یک insert خودکار انجام شد و کاربر فاکتور رو نساخت خب این insert انجام شده ولی هیچ اطلاعاتی نیست بنظر شما این یک رکورد رو چه جوری پاک کنم؟
    ۱۳۹۱ آذر ۷ ۱۰:۰۱ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    undefined غایب
    احسان
    *******

    ارسال‌ها: 2,086
    تاریخ عضویت: ۱۳۸۸ مهر ۲۹
    اعتبار: 76
    تشکرها : 2005
    ( 2071 تشکر در 1219 ارسال )
    ارسال: #2
    RE: روشی برای جلو گیری از تکرار id
    شما وقتی رکورد درج میکنید طبیعتا باید یک فیلد منحصر به فرد با نام ID و یا هر اسم دیگه ای داشته باشه که به صورت خودکار پر میشه.
    از اون فیلد نمیتونید استفاده کنید؟

    اگر شماره فاکتور ها قالب خاصی دارن میتونید همین فیلد ID رو باهاش ترکیب کنید تا منحصر به فرد شه
    __________________________________________________________________________
    هر چیزی که در جستن آنی آنی...
    ۱۳۹۱ آذر ۷ ۰۶:۵۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Reza hamid_80386
    hamid_80386 آفلاین
    حمید عباسی
    ***

    ارسال‌ها: 1,479
    تاریخ عضویت: ۱۳۹۰ بهمن ۱۶
    اعتبار: 62
    تشکرها : 1216
    ( 1253 تشکر در 748 ارسال )
    ارسال: #3
    RE: روشی برای جلو گیری از تکرار id
    در ضمن میتونید فیلد شماره فاکتور رو Uniqe کنید، اینطوری تحت هیچ عنوانی تکراری نمیشن
    __________________________________________________________________________
    هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
    ۱۳۹۱ آذر ۷ ۰۹:۳۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : undefined
    masoud1990 آفلاین
    مسعود گودرزی
    ***

    ارسال‌ها: 225
    تاریخ عضویت: ۱۳۸۹ اسفند ۴
    اعتبار: 5
    تشکرها : 379
    ( 200 تشکر در 123 ارسال )
    ارسال: #4
    RE: روشی برای جلو گیری از تکرار id
    من فکر میکنم شما با AUTO_INCREMENT آشنا نیستید یک فیلد به نام id توی جدولتون طراحی کنید و اون رو از نوع int و با قابلیت AUTO_INCREMENT ایجاد کنید به این صورت به هیچ وجه شما id تکراری ندارید
    __________________________________________________________________________
    تونل ها مي گويند : راه هست؛ حتي در دل سنگ ها.Wink
    استفاده از دکمه تشکر(Heart) نشان شخصیت شماست;
    درگاه پرداخت 724
    ۱۳۹۱ آذر ۷ ۰۹:۴۴ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Reza undefined phpgangster
    phpgangster آفلاین
    عضو جدید
    **

    ارسال‌ها: 32
    تاریخ عضویت: ۱۳۹۱ آذر ۴
    اعتبار: 0
    تشکرها : 22
    ( 24 تشکر در 11 ارسال )
    ارسال: #5
    RE: روشی برای جلو گیری از تکرار id
    سلام دوست عزیز.
    دقیقا برای id باید از AUTO_INCREMENT استفاده کنی. اما اگه نمی خوای از این قضیه استفاده کنی یکی از راه ها استفاده از
    کد PHP:
    date(YmdHis
    وقتی می خوای فاکتور جدید اضافه کنی زمانی که فاکتور داره ایجاد میشه را در id دخالت بده...
    __________________________________________________________________________
    یک آدم موفق میگه : سخته ولی ممکنهBlush
    یک آدم ناموفق میگه: ممکنه ولی سختهHuh
    ۱۳۹۱ آذر ۸ ۰۲:۵۳ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : masoud1990
    navids_69 آفلاین
    عضو
    ***

    ارسال‌ها: 104
    تاریخ عضویت: ۱۳۹۰ آبان ۲
    اعتبار: 0
    تشکرها : 22
    ( 4 تشکر در 4 ارسال )
    ارسال: #6
    RE: روشی برای جلو گیری از تکرار id
    سلام مشکل AUTO_INCREMENT و یا Uniqe نیست

    مشکل اینه که کاربر وقتی توی صفحه ساخت فاکتور میره همون ابتدا شماره فاکتور نمایش داده میشه که آخرین id رو + 1 می کنه خب اگر دوتا کاربر هم زمان بخوان 2 تا فاکتور بسازند شماره فاکتور ها یکی میشه

    بهترین راه اینه که هر کاربر تا صفحه فاکتور رو باز میکنه یک رکورد insert بشه و id اون رکورد به عنوان شماره فاکتور باشه که این AUTO_INCREMENT هست و اینجوری همیشه یک رکورد رزو شده وجود دارد و تکراری نیست یعنی اگر 100 تا کاربر هم همزمان بخوان فاکتور بسازند id ها تکراری نمیشه و بعد برای بستن و کامل کردن فاکتور همون رکورد که اول insert شده آپدیت میشه

    این راه فکر میکنم بهتر باشه اگر کسی نظری داره بگه ممنون می شم
    ۱۳۹۱ آذر ۸ ۱۱:۴۱ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    masoud1990 آفلاین
    مسعود گودرزی
    ***

    ارسال‌ها: 225
    تاریخ عضویت: ۱۳۸۹ اسفند ۴
    اعتبار: 5
    تشکرها : 379
    ( 200 تشکر در 123 ارسال )
    ارسال: #7
    RE: روشی برای جلو گیری از تکرار id
    اره اگر بخوای قبلش به کاربر نشون بدی باید همین کار رو بکنی یعنی اول یه اینسرت بعدش یه آپدیت
    یه کرون هم بزار مثلا ساعت 3-4 صبح که کسی تو سایت نیست اگر به هر دلیل اینسرتی انجام شده و ایدی گرفته و آپدیت نشده پاکش کنه که جای الکی نگیرهBig Grin
    __________________________________________________________________________
    تونل ها مي گويند : راه هست؛ حتي در دل سنگ ها.Wink
    استفاده از دکمه تشکر(Heart) نشان شخصیت شماست;
    درگاه پرداخت 724
    ۱۳۹۱ آذر ۸ ۰۱:۳۴ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS