فرض کنید یه کمبوباکس دارید که برای مثال میخواید توش انواع cpu رو نشون بدید و یه بنده خدایی انتخابشون کنه. لیست cpu ها قانونا باید از دیتابیس خونده بشه. وقتی ما اسم cpu ها رو به کمبو اضافه میکنیم فقط اسمشون اضافه میشه و کد شون ( همون id شون ) همراهشون ذخیره نمیشه.
حالا اون بنده خدا که cpu شو انتخاب کرد ما باید کد اون cpu رو ذخیره کنیم.خب حالا مشکل اصلی. حالا این کد cpu رو از کجا بیاریم؟؟ ؟؟؟ هماکنون نیازمند کمک شما هستیم.
با تشکر.
خب به نظر من یه کار اینه وقتی میخواهی اطلاعاتو تو کمبو باکس بریزی به فرض اینکه ستون1 نوع cpu وستون2 شناسه cpu باشه میتونی اونها رو با هم جمع کنی فیلد1 از ستون نوع+فیلد1 از ستون شناسه بعد این مقادیر درون کمبو باکس ریخته بشه
من هميشه يه ديتابيس كوچيك ديگه براي فهرست انتخاب شده ها درست مي كنم و تمام گزينه هاي انتخاب شده رو با تمام شمخصاتشون داخل اون ديتابيس ذخيره مي كنم و بعد محتويات اون ديتابيس رو نمايش مي دم. اني به نظر يه كار اصولي مياد ولي شايد روش هاي بهتري هم باشن.
سلام.
مي توني دوباره اسم انتخابي رو تو ديتابيس سرچ کني و بعد کدش رو بگيري و ذخيره کني. يا همون موقعي که داري اطلاعات رو براي اضافه کردن به کومبو مي خوني از يه آرايه دو بعدي به صورت ID,Name استفاده کني و اونوقت اسم رو تو آرايه سرچ کني.
بستگی داره
اگر اطلاعات به ترتیب و با همون ایندکس خودشون درون کومبو Add شدند خوب با همون ایندکس داده کار کن و بعد از انتخواب یک مورد در کومبو به وسیله ایندکس اون ای دیش رو از دیتا بیس بخون.
اما اگر به هر نوعی ایندکس داده ها در کومبو همون ایندکس قرار گیریشون در دیتا بیس نباشند (مثلا داده ها رو بر اساس حروف الفبا مرتب کرده باشی) اون وقت روش هایی که دوستان گفتند روش های خوبی هست.
در مورد روش lord_viper مثلا می تونی بین ای دی و نام(داده) یک خط فاصله (یا هر کاراکتر دیگه ای) هم بزاری تا شکل ظاهری قابل قبول تری پیدا کنه.
اما تا اونجایی که من اطلاع دارم ترکیبی از روش های Di Di و mbza11 با هم خیلی منطقی تر و مرسوم تره.
یعنی اینکه با توجه به اینکه سرعت دسترسی به دیتا بیس الان کاملا قابل قبوله (با توجه به SQL), در چنین مواقعی ابتدا یک جدول جدید از دو تا فیلد مورد نظر (یا فقط همه اون فیلد هایی که فعلا به شکل RunTime شما احتیاج دارید) ایجاد میشه (روش Di Di) بعد هر داده ای که در کومبو انتخاب شد خیلی سریع ای دی اون از جدول ایجاد شده جدید خونده می شه (روش mbza11)
خیلی ممنون از همگی .
من قبلا از روش همون آرایه استفاده میکردم. روش جستجو تو دیتابیس فکر کنم بهتر باشه.
یه سری هم میخواستم به کمبوباکس بسازم که بعدا پشیمون شدم.
با تشکر.