• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطای شمارنده
#1
id ای دارم که auto_increment تعریفش کردم. می خوام وقتی مدیر , فیلد جدید اضافه کرد نیازی به نوشتن id نباشه. یعنی id خودکار نوشته بشه.
آخرین فیلد رو داخل متغییر ریختم و در کادر "ردیف" یکی به اون متغیر اضافه کردم. وقتی echo می کنم اون متغییر رو , درست نشون میده , مثلا عدد 15 اما موقع ثبت رکورد, 15 رو ثبت نمی کنه بلکه همون آخرین رکوردی که حذف شده رو نشون می ده.
مثلا من داخل جدولم 20 تا فیلد داشتم که از فیلد 15 تا 20 رو پاک کردم. آخرین فیلد رو می گه شماره 14 هست ولی وقتی می خواد چاپ کنه می ره سراغ شمارش قبلیش یعنی "21"


فایل‌های پیوست تصاویر بندانگشتی
   
  پاسخ
تشکر شده توسط :
#2
آی دی برای هر رکورد منحصر بفرد.
وقتی آی دی یه رکوردی 15 هست . تا همیشه آی دیش 15 هست. حتی بعد از اینکه حذف شد!
از آی دی استفاده های دیگه ایی می شه و شما دارید به اشتباه در یه جاهایه دیگه ایی ازش استفاده می کنید.
مثل اون مطلب قبلی.
شما در مواقع INSERT کردن نباید مقدار ID رو ست کنید. این مقدار خود به خود ست می شه!

در اینجا شما دوتا فیلد دارد ("ردیف" و "نام طرح").
ردیف چه اطلاعاتی رو نگه می داره ؟
نام طرح که مشخصه!
  پاسخ
تشکر شده توسط :
#3
(۱۳۹۱ اردیبهشت ۰۴, ۰۵:۵۸ ب.ظ)oia نوشته: ردیف چه اطلاعاتی رو نگه می داره ؟
نام طرح که مشخصه!
id رو لازم دارم چون در جدول دیگه ای قرار استفاده شه!

شما می گید موقع ثبت اصلا ردیف نذارم؟
  پاسخ
تشکر شده توسط :
#4
آی دی که نباید به صورت دستی وارد بشه.
تو باید اطلاعات جدولت رو که لازم داری (اینجا فقط نام طرح) بغیر از ID رو از کاربر بگیر و در جدول INSERT کن.
بعد آی دی این رکورد جدیدی رو که وارد کردی با SELECT از دیتابیس بخون! (البته بعد از INSERT که نمی شه!!!)

این آی دی که مربوط به این جدوله قراره با چه عنوانی در یک جدول دیگه ذخیره بشه؟
در واقع تو باید هنگام INSERT اطلاعات به اون جدول دومت. آی دی مربوط به این جدول رو اسخراج کنی و توی جدول دوم ذخیره کنی!
  پاسخ
تشکر شده توسط : takphp
#5
(۱۳۹۱ اردیبهشت ۰۴, ۰۶:۱۹ ب.ظ)oia نوشته: آی دی که نباید به صورت دستی وارد بشه.
تو باید اطلاعات جدولت رو که لازم داری (اینجا فقط نام طرح) بغیر از ID رو از کاربر بگیر و در جدول INSERT کن.
بعد آی دی این رکورد جدیدی رو که وارد کردی با SELECT از دیتابیس بخون! (البته بعد از INSERT که نمی شه!!!)

این آی دی که مربوط به این جدوله قراره با چه عنوانی در یک جدول دیگه ذخیره بشه؟
در واقع تو باید هنگام INSERT اطلاعات به اون جدول دومت. آی دی مربوط به این جدول رو اسخراج کنی و توی جدول دوم ذخیره کنی!

درسته ! منم نخواستم به صورت دستی وارد کنم. خواستم مدیر بدونه که چندمین خبر که واردمی کنه.
که دیگه حذفش کردمBlush
ممنون.
  پاسخ
تشکر شده توسط :
#6
نقل قول:درسته ! منم نخواستم به صورت دستی وارد کنم. خواستم مدیر بدونه که چندمین خبر که واردمی کنه.
برای این کار هم باید تعدا کل رکورد ها رو بدست بیاری.

Smile
  پاسخ
تشکر شده توسط : takphp
#7
خب منم همین کارو کردم دیگه!
که بعد +1 کردم به مدیر گفتم که شماره این طرح حدید که داری وارد می کنی این عدد!
که بعد شما گفتین نمی خواد!Sleepy
  پاسخ
تشکر شده توسط :
#8
نقل قول:مثلا من داخل جدولم 20 تا فیلد داشتم که از فیلد 15 تا 20 رو پاک کردم. آخرین فیلد رو می گه شماره 14 هست ولی وقتی می خواد چاپ کنه می ره سراغ شمارش قبلیش یعنی "21"
این حرف شماست دیگه؟ پست اول خودت رو دوباره بخون.

وقتی تعداد رو می خونی و به اضافه یک می دی مشه شماره رکوردی جدیدی که می خواد ایجاد بشه. مثلا اگه 9 رکورد داشته باشه اینی که داره ایجاد می شه می شه 10 امین.
این 10 رو که نباید توی id ذخیره کنی!
  پاسخ
تشکر شده توسط :
#9
آقا جان چیکار داری به auto_increment ؟ می خوای شماره رکورد رو نشون بدی؟
  پاسخ
تشکر شده توسط :
#10
بابا من می خوام شماره جدیدم که شماره 15 هست(همونی که +1) کردم رو به مدیر نشون بده و همونو چاپ کنه.
در صورتی که چاپ می کنه 21 یعنی آخرین رکوردی که قبلا بوده و حذف شده.
من نباید id رو auto_increment تعریف کنم , درسته؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان