Jump to content

Multiple image upload script but with an update option


accend

Recommended Posts

Hi all,

 

As you will see this is my first post in I really hope somebody can nail this for me, as I have been working on this for some time and I cannot get it to work.

 

Basically this is the final part of a CMS I'm building, and all was fine until I needed to build in an option of a multiple image uploader to accompany all other stock details.

 

I have managed to nail the 'insert' part of the multiple image uploader in this case up to 4 images, and the code is below for this part, any help with improvements though will be greatly appreciated.

 

if(isset($_POST['btnsubmit']))
{

$flag=$_POST['flag'];
if ($flag==0)
{

$name=$_POST['txtname'];
$desc1=$_POST['e1m1']; 

$meta=$_POST['txtmeta'];
$sr=$_POST['srno1'];
$name=$_POST['txtname'];
$ref=$_POST['Ref'];
$desc=$_POST['e1m1'];
$maker=$_POST['Maker'];
$date=$_POST['Date'];
$weight=$_POST['Weight'];
$height=$_POST['Height'];
$depth=$_POST['Depth'];
$width=$_POST['Width'];
$price=$_POST['txtprice'];
$sold=$_POST['txtsold'];
$active=$_POST['active'];
$pcats=$_POST['pcats'];
$subcats=$_POST['subcats'];

$str_str='';
    $p='';
    $j=0;
    for($i=0;$i<=3;$i++){
    $j++;
    $p=$_REQUEST['p$j'];
    $file=$_FILES['pic']['name'][$i];
    
    if(!empty($file) ){
              $str_str.=",pic$j='$file'";
     }
     else if(!empty($p))$str_str.=",pic$j='$p'";
     
     $path1="imgdata/stock/".$file;
     copy($_FILES['pic']['tmp_name'][$i], $path1);     
     
    }

$q24=mysql_query("update stock set stock_Name='$name', stock_MetaTitle='$meta', parent_Category='$pcats', sub_Category='$subcats', stock_Image='imgdata/stock/$pic[0]', stock_Image2='imgdata/stock/$pic[1]', stock_Image3='imgdata/stock/$pic[2]', stock_Image4='imgdata/stock/$pic[3]', stock_Ref='$ref', stock_Description='$desc1', stock_Maker='$maker', stock_Date='$date', stock_Weight='$weight', stock_Height='$height', stock_Depth='$depth',stock_Width='$width', stock_Price='$price', stock_Sold='$sold', stock_Active='$active', stock_DateTime='$dt2' where stock_Id=$sr") or die (mysql_error());
$flag=1;
$conf="Data Updated Successfully - Click <a href='http://www.accendsandbox.co.uk/adminSallam/admin_categories.php'>here</a> to continue";
$update="1";

 

<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 1 (Main):</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic1[]" id="pic1[]" size="50" />
</td>
</tr>
<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 2:</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic1[]" id="pic1[]" size="50" />
</td>
</tr>
<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 3:</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic1[]" id="pic1[]" size="50" />
</td>
</tr>
<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 4:</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic1[]" id="pic1[]" size="50" />
</td>
</tr>
<input type="submit" name="btnsubmit" value="Submit">
<input type="submit" name="btndelete" value="Delete" DEFANGED_OnClick="return check();">
<input type="hidden" name="srno1" value="<?= $rows["stock_Id"];?>">
<input type="hidden" name="action" value="Upload">

 

All seems to be fine above, I can upload 1,2,3 or 4 images and the image goes into the server and the path to the database.

 

But I then needed the option for my client to be able to click to edit a certain stock and then aswel as edit the other details, if he wanted to change one pic, no pics or all 4 he could and when he clicked submit, if there was a new image it would change if not it would stay as it is.

 

So here is my attempt and at the moment it doesnt work, so I'm looking for help of any kid and anything can change.

 

$name=$_POST['txtname'];
$ref=$_POST['Ref'];
$desc=$_POST['e1m1'];
$maker=$_POST['Maker'];
$date=$_POST['Date'];
$weight=$_POST['Weight'];
$height=$_POST['Height'];
$depth=$_POST['Depth'];
$width=$_POST['Width'];
$price=$_POST['txtprice'];
$sold=$_POST['txtsold']; 
$meta=$_POST['txtmeta'];
$active=$_POST['active'];
$pcats=$_POST['pcats'];
$subcats=$_POST['subcats'];

$pic1='';
for($i=0;$i<4;$i++){
if(isset($_FILES['pic1']['name'][$i]))$pic1[$i]=$_FILES['pic1']['name'][$i];
else $pic1[$i]='';
}
for($i=0;$i<4;$i++){
if(isset($_FILES['pic1']['name'][$i]))$path1= "./imgdata/stock/".$_FILES['pic1']['name'][$i];
//echo $_FILES['pic1']['tmp_name'][$i]." :". $path1;
if(!empty($_FILES['pic1']['name'][$i])&&isset($_FILES['pic1']['name'][$i]))copy($_FILES['pic1']['tmp_name'][$i], $path1);
} 
        
$q=mysql_query("insert into stock (stock_Name, stock_MetaTitle, parent_Category, sub_Category, stock_Ref, stock_Description, stock_Maker, stock_Date, stock_Weight, stock_Height, stock_Depth, stock_Width, stock_Price, stock_Sold, stock_Image, stock_Image2, stock_Image3, stock_Image4, stock_Active, stock_DateTime) values('$name','$meta','$pcats','$subcats','$ref','$desc','$maker','$date','$weight','$height','$depth','$width','$price','$sold','imgdata/stock/$pic1[0]','imgdata/stock/$pic1[1]','imgdata/stock/$pic1[2]','imgdata/stock/$pic1[3]','$active','$dt2')") or die (mysql_error()); 
$conf="Data Inserted Successfully - Click <a href='http://www.accendsandbox.co.uk/adminSallam/admin_stock.php'>here</a> to continue";
$update=1;

 

<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 1 (Main):</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic[]" size="50" /> <input type="hidden" name="p1" value="<?php echo $pic1;?>" />  <img src="<?php echo $pic1;?>" height="100px" />
</td>
</tr>
<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 2:</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic[]" size="50" /> <input type="hidden" name="p2" value="<?php echo $pic2;?>" />  <img src="<?php echo $pic2;?>" height="100px" />
</td>
</tr>
<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 3:</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic[]" size="50" /> <input type="hidden" name="p3" value="<?php echo $pic3;?>" />  <img src="<?php echo $pic3;?>" height="100px" />
</td>
</tr>
<tr>
<td bgcolor="#A0B050" width="161">
<div style="font-family:Verdana, Arial, Helvetica, sans-serif; position:relative; font-size:12px; color:#293334; font-weight:bold; position:relative; float:left; left:1px;">Stock Image 4:</div>
</td>
<td bgcolor="#888888">
<input type="file" name="pic[]" size="50" /> <input type="hidden" name="p4" value="<?php echo $pic4;?>" />  <img src="<?php echo $pic4;?>" height="100px" />
</td>
</tr>

 

What happens above as its all on the same page, is when a stock item is selected to be edited the form to update the images changes to the image upload options above, instead of the original ones for a new stock item at the top of this post.

 

I can provide anything you need to help me with this, so please can somebody take a look and see if it can be got working, as its been a long problem for me this.

 

Cheers

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.