نمایش نتایج 1 تا 8 از 8

نام تاپیک: مشکل با ذخیره داده های در ستونهایی با نوع int

  1. #1

    مشکل با ذخیره داده های در ستونهایی با نوع int

    وقتی یه ستون رو با نوع int تعریف می کنم و اندازه (Length/Values) رو روی 20 قرار می دم.
    اگر طول داده 15 عدد بود و همه اعداد شبیه به هم بودن، اعداد به خوبی ذخیره نمی شن.

    مثلا عدد 2222222222222222 توی ستون ذخیره نمی شه.

    مشکل چیه؟

  2. #2

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

    مشکل بخاطر MySQL نیست. PHP اعداد بیش از 14 رقم رو بصورت نماد علمی نشون میده. ازطرف PHP بصورت رشته بفرستین.

  3. #3

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

    مشکل بخاطر MySQL نیست. PHP اعداد بیش از 14 رقم رو بصورت نماد علمی نشون میده. ازطرف PHP بصورت رشته بفرستین.
    چطور می تونم این کار رو انجام بدم؟

    اما توجه کنید که وقتی نوع ستون رو بصورت رشته تغییر می دم مشکل حل می شه.

  4. #4

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

    خب شما الان بزارید varchar و یه عدد 100 رقمی رو هم بزارید ثبت میشه
    اما اگه بخواید int باشه باید نماد علمی ثبت بشه

  5. #5

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

    اما اگه بخواید int باشه باید نماد علمی ثبت بشه
    یعنی هیچ راهی نیست که بشه یه عدد 20 رقمی رو از پی اچ پی گرفت و بصورت عددی توی دیتابیس ذخیره کرد؟

  6. #6

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

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

  7. #7

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

    خوب داره ثبت میشه. درست هم ثبت شده. موقع خوندن هم دوباره میتونید اون رو به همین شکل بخونید و توی محاسبات به کار ببرین. مشکل کجاست؟
    ممکنه بخوام روی مقادیر موجود در دیتابیس عملیات ریاضی انجام بدم و به همین دلیل حتما باید ستون با نوع int باشه.

  8. #8

    نقل قول: مشکل با ذخیره داده های در ستونهایی با نوع int

    خوب وقتی خوندین با settype به عدد تبدیل کنید و استفاده کنید. ولی یک راه دیگه هم هست و اون اینکه به همون صورت int ذخیره کنید و موقع نمایش اینطوری تبدیل به حالت ساده کنید:
    echo rtrim(sprintf('%f', 222222222222222), '.0');

    موفق باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •