PDA

View Full Version : طراحی فرم پدر و فرزندی



unforgiven
یک شنبه 05 آبان 1392, 16:26 عصر
سلام به دوستان
در بانکم 2 تا جدول دارم مشتری و محصول که به صورت 1 به چند مرتبط هستند . برای طراحی فرمش موندم به چه صورت عمل کنم . من ابتدا در فرم مشتریان مشتری جدید رو ثبت نام می کنم و در یک صفحه دیگه که محصولات هست ابتدا از لیست باکس کد مشتری رو انتخاب می کنم و بعد محصول رو در جدول ذخیره می کنم آیا این روش درست هست ؟
نگرانی من از لیست باکس هست که اگر مثلا تعداد مشتریان 5000 نفر یا بیشتر شد کل ID مشتریان باید در لیست باکس لود بشه و این سربار ایجاد میکنه .
اگر هم لیست باکس رو حذف کنم و بجاش تکست باکس بزارم هم نمیشه چون ممکنه یه ID بزنه و قبلا ثبت نشده باشه و کاربر باید جستجو کنه و دردسرهای مربوط به خودش رو داره.
راه حل مرسوم در این مورد چی هست . شما در این مورد به چه روش عمل می کنید ؟
ممنون میشم راهنمایی کنید

Mostafa_G2
یک شنبه 05 آبان 1392, 21:28 عصر
من خودم وقتی که مشتری یا کاربر وارد سایت میشه (Login) , کد مشتری یا همون id کاربرم رو توی یک session قرار میدم.
نظرم من اینه که نزاری خود مشتریت id رو انتخاب کنه.
کد مشتریت یا از رو database لود بشه یا اینکه از رو session خونده بشه.
تنها کمکی بود که میتونستم بکنم, امیدوارم بدردت بخوره.
راستی باید بگم که من اصلا حرفه ایی نیستم, نظر دوستان هم بخووون

unforgiven
دوشنبه 06 آبان 1392, 09:53 صبح
متشکرم از پاسختون
ولی موضوع id مشتری نیست . موضوع واکشی مثلا 5000 id مشتری و نمایش اون در لیست باکس هست مثلا قبلا در برنامه های ویندوزی اینطور عمل می کردم که تکست باکس ID مشتری غیر فعال بود و کنارش با کلیک کردن کاربر یه پنجره باز میشد و تو گرید ID مشتریان لود میشد و با انتخاب مشتری ID داخل تکست باس درج میشد و این شکلی از ورود ID اضافه در بانک جلوگیری میشد ولی تو php نمیدونم باید به چه شکل این کارو بکنم . تصمیم گرفتم این id رو در لیست باکس نشون بدم و الان میبینم اگه مشتریان بیش از 5000 شدن لیست باکس چطور میتونه این همه اطلاعات رو لود کنه؟

SlowCode
دوشنبه 06 آبان 1392, 11:38 صبح
یه راه اینه که واسه تکست باکست Auto complete بذاری، مثل قسمت نام گیرنده پیغام که موقع پیغام خصوصی نوشته میشه. اگه اسم کاربر درست نوشته بشه ادامش نشون داده میشه.

راه دیگه اینه که یه فرم درست کنی و توش جستجو و فیلتر(limit) بذاری تا سریع باشه. نتیج رو هم تو یه <table> نشون بدی.

navid3d_69
دوشنبه 06 آبان 1392, 13:11 عصر
من روش Auto complete رو پیشنهاد نمی کنم چون اگر مثلا کاربر بزنه 10 همه کد های مشابهش میاد و اینجوری کاربر می تونه کلی شماره بدست بیاره

می تونین با ajax چک کنید شماره که وارد میشه چک کنید درست هست یا نه

Mostafa_G2
دوشنبه 06 آبان 1392, 22:29 عصر
به نظر من وقتی مشتری login میکنه به سایت id مشتری رو توی یه session ذخیره کن و وقتی به فرم مورد نظر رفت فقط کافیه که id مشتری رو از session به یک text box بیاری. (یعنی از یک session به یک text box عمل واکشی صورت میگره)
یه سوال :
چرا منه مشتری باید id یه مشتری دیگه رو تو سایت ببینم ؟
id هر مشتری به نظرم باید protected باشه.