• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل آپلودر در php+(راه حل)
#1
سلام.من یک آپلودر دراگ اند دراپ دانلود کردم و برای سایت خودم اختصاصی کردم.

آدرس تصاویر رو بعد از آپلود بصورت یک value در داخل یک imput بهم میده.

و من هم در قالب یک متد پست میفرستمش برای آپلود روی دیتابیس

مشکلات من ایناست:

هربار که بهم تصویر میده با name یکسان میده و هنگام آپلود داخل دیتابیس فقط یکیشون آدرسش ثبت میشه.

نام هاشونو اگه متغیر کنم:
مثلا:img1 img2 img3 و...
بعد موقع دستور آپلود داخل دیتابیس باید 50تا ورودی تعریف کنم که خیلی زیاده!!!

راه بهتری هم هست که نام ایمپوت ها یکسان باشه اما همشون داخل دیتابیس ذخیره شن؟
  پاسخ
تشکر شده توسط :
#2
سلام،
اگر درست فهمیده باشم باید از [] استفاده کنین.
کد:
<input type="text" name="age[]" value="25" />
<input type="text" name="age[]" value="35" />

این رو اگر سابمیت کنی خروجی بهت یه آرایه میده با مقدار هر چندتا اینپوتی که تعریف کنی.
یه همچین حالتی...
کد:
[age] => Array
        (
            [0] => 25
            [1] => 35
        )
غایب
  پاسخ
تشکر شده توسط : MRCanddy
#3
خب این از سمت سایت.
حالا از سمت سرور چیکار کنم؟؟
داخل تیبل من 3سه ستونه که یکی آی دیه یکی آدرس ایمیج و یکی دیگه هم شناسه عکسه.
  پاسخ
تشکر شده توسط :
#4
دیگه سمت سرور رو خودت باید هندل، یکی یکی اندیس‌های آرایه رو آپلود کنی و اینسرت کنی تو دیتابیس.
اگه راه دیگه‌ای هست من نمیدونم.
غایب
  پاسخ
تشکر شده توسط : MRCanddy
#5
یه مثال میزنی؟؟؟

من تازه کارم
  پاسخ
تشکر شده توسط :
#6
خب سوالت چی هست؟ اینسرت کردن مشکل داری؟
تو حالت کلی باید یه حلقه بزنی روی آرایه، اینسرت کنی.
کد پی‌اچ‌پی:
foreach($age as $item){
// insert $item

غایب
  پاسخ
تشکر شده توسط : MRCanddy
#7
داداش میتونی یه مثال بزنی که چطور اینو توو دیتابیس قراربدم؟؟؟

کد html این باشه:

کد پی‌اچ‌پی:
<form action="upload.php" method="post">
<
input type="text" value="img/1.jpg" name="img">
<
input type="text" value="img/2.jpg" name="img">
<
input type="text" value="img/3.jpg" name="img">
<
input type="text" value="img/4.jpg" name="img">
<
input type="text" value="img/5.jpg" name="img">
<
input type="submit" name="submit"
این فرم من،حالا موندم چطوری دستور اینزرت به دیتابیس رو بدم!!
توو دیتابیسمم یه تیبل دارم با سه سطر (id,img,id_parent)
  پاسخ
تشکر شده توسط :
#8
فرمت بازم اشتباهه دیگه همونطور که علا بهت گفت اینطوری استفاده کن که اول به ارایه تبدیل کن و بعد سمت سرور یکی یکی با foreach هندل کن و هر بار هم توی دیتابیس ذخیره کن

کد پی‌اچ‌پی:
<form action="upload.php" method="post">
<
input type="text" value="img/1.jpg" name="img[]">
<
input type="text" value="img/2.jpg" name="img[]">
<
input type="text" value="img/3.jpg" name="img[]">
<
input type="text" value="img/4.jpg" name="img[]">
<
input type="text" value="img/5.jpg" name="img[]">
<
input type="submit" name="submit"
</
form>
<?
php
 $pic 
$_POST['img'];
 foreach(
$pic as $item)
 {
     
$db -> query("INSERT INTO `db` image='{$item}'");
 }
   
?>
  پاسخ
تشکر شده توسط : MRCanddy
#9
داداش این ذخیره میکنه اما فقط اولی رو!!!

مثلا من 5 تا رو که ذخیره میکنم توو دیتابیس آدرسشو سیو نمیکنه
فقط اولی رو سیو میکنه!!!
  پاسخ
تشکر شده توسط :
#10
عزیز منطقا این کدها درست هستن و مشکلی ندارن شما بادقت تست و بررسی کنید چون توی کدها مشکلی نیست
ببینید اصلا شما چنتا که وارد میکنید چنت اینپوت توی فرم براتون ساخته میشه
به احتمال همیشه فقط یک اینپوت دارید که یکی ذخیره میکنه
اصول این کد اینه که هر اینپوتی که اسمش img باشرو میگیره و دونه دونه مقادیرشونو ذخیره میکنهHuhHuh
  پاسخ
تشکر شده توسط : MRCanddy


پرش به انجمن:


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