PDA

نسخه کامل مشاهده نسخه کامل : درخواست راهنمایی برای ذخیره فایلهای مربوط به یک رکورد در دیتابیس



ZahhhraGh
29-04-2012, 14:05
سلام

مقدمه:
در ديتابيس جدول خبر داراي فيلدهاي، كد، عنوان و غيره هست. و جدول فايل هم داراي فيلدهاي نام(كه شامل مسير فايل ميشود)، كد، و كد خبر هست.

سوال 1:
آيا اساسا وجود فيلد نام، در جدول فايل، كه شامل مسير فايل هست درست و منطقي هست؟

سوال 2:
در موقع درج خبر همه قسمتهاي يك خبر يكجا درج ميشود. حالا چطور براي خبري كه هنوز درج نشده و داراي كد نيست ميشه فايل رو با كد خبر مربوطه در جدول فايل قرار داد.

متشكرم

neopersia
29-04-2012, 14:44
سلام

اول توضیح بدید که آیا هر خبر فقط یک فایل داره یا اینکه تعداد مشخصی فایل داره که هر کدومش برای یک قسمت مشخص استفاده میشه؟ یا اینکه اصلاً هر خبر تعداد نامشخصی فایل میتونه داشته باشه؟

در جواب پرسش دومتون بر فرض اینکه استفاده از دو جدول مجزا درست باشه معمولاً لزومی به ذخیره نام فایل نیست. اما اگر شما نام فایل رو لازم دارید و قصد دارید مستقیماً از دیتابیس استخراجش کنید میتونید یک فیلد هم برای نام فایل داشته باشید. فکر نمیکنم غیر منطقی باشه

ZahhhraGh
29-04-2012, 15:02
هر خبر تعداد نامشخص از هر نوع فايل ميتونه داشته باشه

ببينيد قراره براي هر خبر يك يا چند جور فايل آپلود بشه
اول اينكه من نميدونم وقتي فايلي آپلود ميشه چه چيزي رو بايد در db ذخيره كرد... و اينكه ميخوام در موقع نمايش خبرها در صورت وجود فايلي لينك اون فايلها هم به نمايش در بياد. اتفاقي كه موقع آپلود مي افته برام كاملا روشن نيست
ذخيره نام فايل رو هم بخاطر نمايش لينك احساس كردم بايد وجود داشته باشه

neopersia
29-04-2012, 15:19
خوب پس همینطور که خودتون انجام دادید دو تا جدول لازم دارید

اینکه آدرس فایل رو ذخیره کنید یا نام فایل بستگی به مسیر آپلودتون داره. من اگر بخوام همچین کاری بکنم فقط نام فایل رو ذخیره میکنم و آدرس رو بر اساس تنظیمات سایت که پوشه آپلود در کجا قرار داره به دست میارم. اینطوری اگر پوشه بعداً جابجا بشه مشکلی پیش نمیاد
اگر هم خواستید آدرس رو ذخیره کنید بعداً در php میتونید با استفاده از توابعی مثل basename نام فایل رو از آدرسش استخراج کنید

برای به دست آورد id خبر هم بهترین راه اینه که اول خبر رو وارد دیتابیس کنید و بعد بلافاصله id آخرین رکورد وارد شده رو از دیتابیس بگیرید و در جدول فایلها ازش استفاده کنید