آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

آدرس عکس های نا محدود در دیتابیس

parsarezaei  9 سال پیش  9 سال پیش
0 0

دوستان من یک تیبل دارم که محصولاتم توشه اما هر محصول تعداد عکس مختلف داره مثلا یکی ۳ تا عکس یکی ۵ تا من فقط بلدم یک فیلد تعریف کنم که فقط ادرس یک عکس و بگیره برای اینکه تعداد عکس هام نا محدود و نامشخص باشه باید چیکار کنم؟

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Mehrad  9 سال پیش
+1 0

روشی که به نظر من میتونه خوب باشه اینه که نام عکس هارو در همون یک فیلد قرار بدید و با کاما (,) از هم جدا کنید نام هارو.
در هنگام استفاده هم که خیلی ساده با یک explode بر اساس کاما میتونید عکس هارو نمایش بدید.

0 0
اونوقت اگه فرضا خوده اسم عکس توش کاما باشه چی همه چی بهم نمیریزه؟ بعد فیلد ها تعداد کارکتر محدود میگیرن و ادرس عکس ها هم میتونه خیلی طولانی باشه اینا مشکل ساز نمیشه؟ (9 سال پیش)
پاسخ به سوال 
Mehrad  9 سال پیش
+1 0

اگر کاما در نام عکس باشه که قطعا مشکل ساز هست (در این روشی که عرض کردم). برای حل این مورد میتونید قبل از insert کردن نام عکس در دیتابیس یک str_replace بزنید و کاماها رو از نام عکس حذف کنید.

برای مورد بعدی که مطرح کردید هم یا باید نوع فیلد رو text یا long text بذارید که مشکل تعداد کاراکتر پیش نیاد (که خیلی تضمینی روش نیست )، یا (از نظر من) نام عکسها رو خودتون کاستومایز کنید و نام منطقی و کوتاه براشون بذارید.

+1 0
یه راه دیگه هم که خودم به ذهنم رسید اینه که یک تیبل image داشته باشیم و ایدی عکس و توی محصولات ذخیره کنیم و هر چند تا عکس که هست و از image گزارش گیری کنیم اما مشکل این راه ممکنه این باشه که اگر تعداد زیاد باشه خیلی زمان بر میشه . (9 سال پیش)
0 0
بله. در ابتدا این به ذهن من رسید ، ولی در این راه یک جوین باید در کوئری اضافه کنید که وقتی حجم دیتا زیاد بشه. تاثیرگذار میشه. روش کاما که عرض کردم ‌پرفورمنس بالاتری داره. (9 سال پیش)
+1 0
بهترین و اصولی ترین روش همونیه که خودتون گفتید - یعنی برای تصاویر یه جدول جدا در نظر بگیرید - نگران زمان بر بودن هم نباشید ! (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .