• Integer vitae nulla!

    Integer vitae nulla!

    Suspendisse neque tellus, malesuada in, facilisis et, adipiscing sit amet, risus. Sed egestas. Quisque mauris. Duis id ligula. Nunc quis tortor. In hendrerit, quam vitae mattis interdum, turpis augue viverra justo, sed semper sem lorem sed ligula. Curabitur id urna nec risus volutpat ultrices....

  • Suspendisse neque tellus

    Suspendisse neque tellus

    Suspendisse neque tellus, malesuada in, facilisis et, adipiscing sit amet, risus. Sed egestas. Quisque mauris. Duis id ligula. Nunc quis tortor. In hendrerit, quam vitae mattis interdum, turpis augue viverra justo, sed semper sem lorem sed ligula. Curabitur id urna nec risus volutpat ultrices....

  • Curabitur faucibus

    Curabitur faucibus

    Suspendisse neque tellus, malesuada in, facilisis et, adipiscing sit amet, risus. Sed egestas. Quisque mauris. Duis id ligula. Nunc quis tortor. In hendrerit, quam vitae mattis interdum, turpis augue viverra justo, sed semper sem lorem sed ligula. Curabitur id urna nec risus volutpat ultrices....

Sunday, 27 February 2011

Form Fill Script PHP

Adding / editing / deleting products

Managing products is even easier than managing categories, because it does not require making products hierarchical tree structure.
All products are plainly saved into separate PRODUCT table.

At-first, we have to develop a form for managing product details.
This form should allow managing product name, descriptions, images, etc.
This is how the form looks in Shop-Script FREE and its HTML code (products.php):


<form enctype="multipart/form-data" action="products.php" method="POST">

<table width="100%" border="0" cellpadding="3" cellspacing="0">

<tr>
<td align="right">Parent:</td>
<td>
<select name="categoryID">
<option value="0">Root</option>
<option value="4">Sample category 1</option>
<option value="20">  Child category 1</option>
<option value="76">  Child category 2</option>
< all categories are shown in this select box >
</select>
</td>
</tr>

<tr>
<td align="right">Product name</td>
<td><input type="text" name="name" value=""></td>
</tr>

<tr>
<td align="right">Product code</td>
<td><input type="text" name="product_code" value=""></td>
</tr>


<tr>
<td align="right">Price, USD<br>(number only):</td>
<td><input type="text" name="price" value=0></td>
</tr>

<tr>
<td align="right">List price, USD<br>(number only):</td>
<td><input type="text" name="list_price" value=0></td>
</tr>

<tr>
<td align="right">In stock:</td>
<td><input type="checkbox" name="in_stock" checked></td>
</tr>

<tr>
<td align="right">Picture</td>
<td><input type="file" name="picture"></td>
<tr><td></td><td>
(picture not uploaded)</td>
</tr>
<tr>
<td align="right">Thumbnail</td>
<td><input type="file" name="thumbnail"></td>
<tr><td></td><td>
(picture not uploaded)</td>
</tr>
<tr>
<td align="right">Enlarged picture</td>
<td valign="top"><input type="file" name="big_picture"></td>
<tr><td></td><td valign="top">
(picture not uploaded)</td>
</tr>


<tr>
<td align="right">Description<br>(HTML):</td>
<td><textarea name="description" rows="15" cols="40"></textarea></td>
</tr>

<tr>
<td align="right">Brief description<br>(HTML):</td>
<td><textarea name="brief_description" rows="7" cols="40"></textarea></td>
</tr>

</table>


<p><center>
<input type="submit" value="Save">
<input type="hidden" name="save_product" value="0">
<input type="button" value="Cancel" onClick="window.close();">
</center></p>
</form>


Adding product

Administrator is prompted to fill in the form presented above.
Clicking "Save" button will execute following SQL query to save product into the database (products.php):

INSERT INTO `PRODUCT` (categoryID, name, description, customers_rating, Price, in_stock, customer_votes, items_sold, enabled, brief_description, list_price, product_code) VALUES ('".$_POST["categoryID"]."','".$_POST["name"]."','".$_POST["description"]."', 0, '".$_POST["price"]."', ".$instock.", 0, 0, 1, '".$_POST["brief_description"]."', '".$_POST["list_price"]."', '".$_POST["product_code"]."');

Editing product details

Here administrator is prompted to fill in the same form as when adding a product.
The only difference is that in this case we pass productID along with the form to indicate that clicking "Save" button should update existing product details, but not add a new one (products.php):

<?php 

    if (!isset($_POST["price"]) || !$_POST["price"] || $_POST["price"] < 0) 
        $_POST["price"] = 0; //price can not be negative 

    if (!isset($_POST["name"]) || trim($_POST["name"])=="") $_POST["name"] = "not defined"; 

    $instock = (isset($_POST["in_stock"])) ? 1 : 0; 

    if ($_POST["save_product"]) { //if $_POST["save_product"] != 0 then update item 

        //delete old product photos if they're being replaced 
        $q = db_query("SELECT picture, big_picture, thumbnail FROM ".PRODUCTS_TABLE." WHERE productID='".$_POST["save_product"]."'") or die (db_error()); 
        $row = db_fetch_row($q); 

        //generating query 

        $s = "UPDATE ".PRODUCTS_TABLE." SET categoryID='".$_POST["categoryID"]."', name='".$_POST["name"]."', Price='".$_POST["price"]."', description='".$_POST["description"]."', in_stock=".$instock.", customers_rating='".$_POST["rating"]."', brief_description='".$_POST["brief_description"]."', list_price='".$_POST["list_price"]."', product_code='".$_POST["product_code"]."'";

        $s1 = ""; 

        //old pictures? 
        if (isset($_FILES["picture"]) && $_FILES["picture"]["name"]) 
        { 
            //delete old picture 
            if ($row[0] && file_exists("./products_pictures/".$row[0])) 
                unlink("./products_pictures/".$row[0]); 
        } 
        if (isset($_FILES["big_picture"]) && $_FILES["big_picture"]["name"]) 
        { 
            //delete old picture 
            if ($row[1] && file_exists("./products_pictures/".$row[1])) 
                unlink("./products_pictures/".$row[1]); 
        } 
        if (isset($_FILES["thumbnail"]) && $_FILES["thumbnail"]["name"]) 
        { 
            //delete old picture 
            if ($row[2] && file_exists("./products_pictures/".$row[2])) 
                unlink("./products_pictures/".$row[2]); 
        } 

    } 

?>

Deleting product

When clicking "Delete" button for a certain product it is simply deleted from the database using following SQL query:

DELETE FROM `PRODUCT` WHERE productID=`$productID_to_delete`;


0 comments:

Post a Comment