This is the third part of the six part series about creating a php online store.
Here’s a summary of the
Just in case, I haven’t included the download link on the database that were going to use. Here it is. Download that and import it into any database that you have created. Using phpmyadmin.
Item Creation
This would be the form that will be used by the admin to create new products.
Go ahead and type the codes below. Or just copy and paste it into your text editor:
<form action="regprodact.php" id="info" method="post"> <h3>Product Registration</h3> <label for="prodname">Product Name:</label> <input type="text" id="prodname" name="prodname" class="validate[required]"> <label for="description">Description:</label> <input type="text" id="description" name="description" class="validate[required]"> <label for="reorder">Reorder Qty:</label> <input type="text" id="reorder" name="reorder" class="validate[required,custom[onlyNumber]]"> <label for="bprice">Cost price:</label> <input type="text" id="pprice" name="pprice" value="" class="validate[required,custom[onlyNumber]]" value=""> <label for="sprice">Unit price:</label> <input type="text" id="sprice" name="sprice" value="" class="validate[required,custom[onlyNumber]]" value=""> <label for="category">Category:</label> <input type="text" id="category" name="category"/> <input type="submit" value="create"/> </form>
It’s a good practice not to make the value of the submit button into something like ‘submit’. Because that doesn’t give the user any idea on what he is doing. Most of the time you have to make use of an action word or a verb in the value of the submit button.
Next thing that you have to do is to create a new php file and name it to regprodact.php or whatever form action you have included in the item creation form. What this will do is to insert the data that is inputted by the user into the database.
<?php include('conn.php'); ?> <?php $prod=$_POST['prodname']; $desc=$_POST['description']; $category=$_POST['category']; $reorder=$_POST['reorder']; $cost_price=$_POST['pprice']; $unit_price=$_POST['sprice']; /* format the text*/ $f_prod=ucwords(strtolower($prod)); $f_desc=ucwords(strtolower($desc)); $f_category=ucwords(strtolower($category)); $inserts=mysql_query("INSERT INTO prod_table(PRODUCT, P_DESC, CATEGORY, REORDER_LVL, B_PRICE, S_PRICE") VALUES('$f_prod','$f_desc','$f_category', '$reorder', '$cost_price', '$unit_price')"); if(!$inserts){ echo mysql_error(); } ?>
Item list
This will be used by the user to (surprise!) list all the items that matches the query that he is going to type in the textbox:
<form action="listprod.php" method="post"> <label for="items">Item name:</label> <input type="text" name="items"/> <input type="submit" value="list"> </form>
Create a new php file again, and name it to listprod.php. This is the php file that would produce the results from the user query.
<?php include('conn.php'); ?> <?php $item=$_POST['items']; $list=mysql_query("SELECT * FROM prod_table WHERE PRODUCT LIKE '$item%'"); if(mysql_num_rows($list)==0){ }else{ ?> <table border="1"> <tr> <th>ITEM ID</th> <th>DESCRIPTION</th> <th>CATEGORY</th> <th>QTY AVAILABLE</th> <th>REORDER LEVEL</th> <th>COST PRICE</th> <th>UNIT PRICE</th> </tr> <?php while($row=mysql_fetch_assoc($list)){ ?> <tr> <td><?php echo $row['PID']; ?></td> <td><?php echo $row['PRODUCT']; ?></td> <td><?php echo $row['P_DESC']; ?></td> <td><?php echo $row['CATEGORY']; ?></td> <td><?php echo $row['QTYHAND']; ?></td> <td><?php echo $row['REORDER_LVL']; ?></td> <td><?php echo $row['B_PRICE']; ?></td> <td><?php echo $row['S_PRICE']; ?></td> </tr> </table> <?php } } ?>
Updating Items
This will be used by the user to update the items that are already stored in the database. You can integrate it with the list item module so that the user can search the items that he is going to update. But of course, I’ll leave that to you so that you’ll also have something to do.
Create a new php file again and name it to updateform.php. This would be use by the user to edit the existing item data that is stored on the database. I’ll leave it as a challenge on how you can connect this module with the list module.
The following are the codes for updateform.php:
<?php include('conn.php'); ?> <?php $item_id=$_GET['item_id']; $listupdate=mysql_query("SELECT * FROM prod_table WHERE PID='$item_id'"); /*You'll have to do the rest here*/ ?>
Again, I’ll be leaving you with some challenge. The codes that are supposed to be placed after the comment is similar to the codes used for listing item data. The only difference is that it will only return 1 record. And were going to make use of textbox instead of a table. Remember that a text box should be inside a form tag, and the form tag should have 2 attributes: action and method.
Now, you have to create another php file and name it to whatever form action you have indicated in updateform.php. Here are the codes:
<?php /*Something is missing in this part, I wonder what it is? */ $pid=$_POST['prodid']; $prod=$_POST['prodname']; $desc=$_POST['description']; $category=$_POST['category']; $qtyonhand=$_POST['qtyonhand']; $pprice=$_POST['pprice']; $sprice=$_POST['sprice']; $reorder=$_POST['reorder']; /* format the text*/ $f_prod=ucwords(strtolower($prod)); $f_desc=ucwords(strtolower($desc)); $f_category=ucwords(strtolower($category)); $update_item=mysql_query("UPDATE prod_table SET PRODUCT='$f_prod', P_DESC='$f_desc', CATEGORY='$f_category' , QTYHAND='$qtyonhand', B_PRICE='$pprice', S_PRICE='$sprice', REORDER_LVL='$reorder' WHERE PID='$pid'"); if(!$update_item){ echo mysql_error(); } ?>
Deleting Items
The last module that were going to create in this tutorial. I’m getting lazy now, so here’s the query. Remember to do some housekeeping. This is not the full code:
DELETE FROM prod_table WHERE PID='$pid'
Changed my mind. This module should also be connected to the list item module. The most common that people do is to add a delete icon on the table that has the items listed on it. And put a link on that icon to whatever the name of the php file which performs the delete query. Add something like this to your list module:
<a href="delprod.php?itemid=<?php echo $row['PID']; ?>">
<img src="deleteicon.png"></img></a>
Common sense tells us that this link would yield a GET method. So here’s the more complete code on delprod.php or whatever you call it on the link that you have created:
<?php $item_id=$_GET['itemid']; $deletes=mysql_query("DELETE FROM prod_table WHERE PID='$item_id'"); /*do some housekeeping here*/ ?>
You might have notice that the parameter for the GET method should be the same as the variable that you have declared on your url. In this case it is ‘itemid’. Always remember that since the code won’t work if they are not the same.
Conclusion
That’s it for the inventory tutorial. Next time I’m going to tell you about the cart. The meat of this six part tutorial series.
Hi! Nice site ….)
can you make tutorial import bulk item to website..
use cubecart
thankx …
nce site
I haven’t tried Cubecart yet. I might make some tutorials about that in the future. Thanks for your suggestion.
download link don’t work,can you please re upload this, thnx in advance
Multiupload is permanently down(I guess because of SOPA). Fortunately I found you a local copy of the database, here it is: http://dl.dropbox.com/u/27328449/onstor.sql
how am i going to import it to any databases? pls teach me. 🙂 i dunno how.
first you have to install wampserver and then go to http://localhost/phpmyadmin then create a new database and then import the sql file above.
am i going to save the forms as php file???
also idk about the textbox, teach me pls..
also i dunno what “Now, you have to create another php file and name it to whatever form action you have indicated in updateform.php.” means..
it means that if you have a form:
you have to create a file and name it actionfile.php that will serve as the form which will save the contents of your input into the database.
can i have a copy of the challenge u gave in update form? sorry tho but i am not that really good yet in php, i cannot figure out the codes on my own. tnx!
I don’t have the copy of that file. but I have a few past projects here that you might want to look at. Just tell me if you want to have a copy so that I can upload it.
can you upload some of your projects? i want to have a copy, especially your inventory system. thanks!
here it is http://bitly.com/GHiKYr
it’s not actually a project, just some test files but you might learn something from it.
when i click the listprod.php link it says:
Warning: include(conn.php) [function.include]: failed to open stream: No such file or directory in D:\wamp\www\New folder (2)\listprod.php on line 1
Warning: include() [function.include]: Failed opening ‘conn.php’ for inclusion (include_path=’.;C:\php\pear’) in D:\wamp\www\New folder (2)\listprod.php on line 1
Notice: Undefined index: items in D:\wamp\www\New folder (2)\listprod.php on line 3
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\wamp\www\New folder (2)\listprod.php on line 6
what is the problem here?
do you have the conn.php file on the same folder where the listprod.php is?
the file doenst exist anymore.. 😦
do you have an php that decrements the quantity by 1 if the product is been buy,,,,,,,,,,or the incrementation of the quantity…tnx