<?php
require('../includes/header.php');

   
 
?>
<!doctype html>
<html class="no-js" lang="en">


<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Single Item || POWER LINKS CTG</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
 
</head>

<body>



<?php

if (isset($_POST['editproject'])){
//if(count($_POST)>0) {
mysqli_query($conn,"UPDATE item set Id='" . $_POST['id'] . "',
 item_name='" . $_POST['item_name'] . "',
 description='" . $_POST['description'] . "',
 short_description='" . $_POST['short_description'] . "' ,
 catagory='" . $_POST['catagory'] . "',
 Note='" . $_POST['Note'] . "'
 FileName='" . $_POST['FileName'] . "'
 WHERE Id='" . $_POST['id'] . "'");
$message = "Record Modified Successfully";
}
$result = mysqli_query($conn,"SELECT * FROM item WHERE id='" . $_GET['Id'] . "' and catagory='" . $_GET['catagory'] . "'");
$row= mysqli_fetch_array($result);

?>

    <!--[if lt IE 8]>
        <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->  

    <!-- Body main wrapper start -->
    <div class="wrapper">
    
        <!-- End Header Style -->
        <!-- Start Bradcaump area -->
        <div class="ht__bradcaump__area" data--black__overlay="6" style="background: rgba(0, 0, 0, 0) url(../images/bg/5.jpg) no-repeat scroll center center / cover ;">
            <div class="ht__bradcaump__wrap">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12">
                            <div class="bradcaump__inner text-center">
                                <h2 class="bradcaump-title">TUTORIAL</h2>
                                <nav class="bradcaump-inner">
                                  <a class="breadcrumb-item" href="../../index.php">Home</a>
                                  <span class="brd-separetor">-</span>
                                  <a class="breadcrumb-item" href="<?php echo WEB_URL; ?>plc/tutorials/tutorial.php">Tutorial</a>
								  <span class="brd-separetor">-</span>
                                  <a class="breadcrumb-item" href="<?php echo WEB_URL; ?>plc/tutorials/product.php">Product</a>
                                  <span class="brd-separetor">-</span>
                                  <span class="breadcrumb-item active">Single Item</span>
                                </nav>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- End Bradcaump area -->
        <!-- Start Blog Area -->
        <section class="htc__project__details__page ptb--150 bg__white">
            <div class="container">
                <div class="row">
                    <div class="col-md-7 col-lg-7 col-sm-12 col-xs-12">
                        <div class="htc__single__service">
                            <div class="htc__single__service__tab">
                                <div class="ht-portfolio-pic-show">
                                    <div class="ht-portfolio-full-image tab-content">
                                        <div role="tabpanel" class="tab-pane fade in active" id="img-tab-1">
                                            <img  src='../../../power/Item/<?php echo $row['FileName']; ?>' alt="full-image" width="450" height="550">
                                        </div>
                                        <div role="tabpanel" class="tab-pane fade" id="img-tab-2">
                                            <img src="<?php echo WEB_URL; ?>plc/images/blog/big-images/5.jpg" alt="full-image">
                                        </div>
                                        <div role="tabpanel" class="tab-pane fade" id="img-tab-3">
                                            <img src="<?php echo WEB_URL; ?>plc/images/blog/big-images/5.jpg" alt="full-image">
                                        </div>
                                        <div role="tabpanel" class="tab-pane fade" id="img-tab-4">
                                            <img src="<?php echo WEB_URL; ?>plc/images/blog/big-images/5.jpg" alt="full-image">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-5 col-md-5 col-sm-12 col-xs-12">
                        <div class="single__project__rightsidebar">
                            <!-- Start Single Item -->
                            <div class="pro__dtl__inner bg__gray" >
                                <h2>PRODUCT DETAILS</h2>
                                <div class="">
                                    <ul class="pro__dtl__list">
										<li></li>
										<li><b>PRODUCT : </b><?php echo $row['item_name']; ?></li>
                                        
										
                                        <li><b>Short Details : </b><?php echo $row['short_description']; ?></li>
                                        
                                        <li><b>Description : </b><?php echo $row['description']; ?></li>
                                        
                                    </ul>
									
                                    
                                </div>
                            </div>
                            <!-- End Single Item -->
                            
                        </div>
                    </div>
					
					<div class="col-md-12 col-lg-12 col-sm-12 col-xs-6">
                        <div class="htc__single__service">
                            <div class="htc__single__service__tab">
                                <div class="section__title text-center">
								
							<hr>
                            <h3 class="title__line">RELATED <span class="text--theme">PRODUCT</span></h3>
                            
                        </div>
                                <!-- Start Small images -->
                                <div class="ht__service__small__image nav nav-tabs clearfix">
                                    <ul >
                                        
                                        <li role="presentation" class="pot-small-img img-tab-2">
										<div class="row">
                    <div class="rl__project__wrap clearfix mt--60 xmt-40">
                        <!-- Start Single Service -->
						<?php $sqli=$conn->query("Select * from item WHERE catagory='" . $_GET['catagory'] . "' ORDER BY RAND() LIMIT 6");
							foreach ($sqli as $key => $project) {
											?>
                        <div class="col-md-2 col-lg-2 col-sm-4 col-xs-12">
                            <div class="rl__project foo">
                                <div class="project__thumb">
                                    <a href="single-Item.php?Id=<?php echo $project["Id"]; ?>&catagory=<?php echo $project["catagory"]; ?>">
									<img  alt="project images" src='../../../power/Item/<?php echo $project ['FileName']; ?>' 
										width="" height="150" >
                                        
                                    </a>
									
									<?php echo $project ['item_name']; ?>
                                </div>
                            </div>
                        </div>
						<?php } ?>
                        <!-- End Single Service -->
                        
                    </div>
                </div>
                                        </li>
                                        
										
										
                                       
                                    </ul>
                                </div>
                                <!-- End Small images --> 
                            </div>
                        </div>
                    </div>
				
                </div>
                
            </div>
        </section>
        <!-- End Blog Area -->
        <!-- Start Service Area -->
        <section class="htc__project__area bg__white pb--150">
            <div class="container">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="section__title text-center">
                            <h2 class="title__line">ALL <span class="text--theme">PRODUCT</span></h2>
                            
							<hr>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="rl__project__wrap clearfix mt--60 xmt-40">
                        <!-- Start Single Service -->
						<?php $sqli=$conn->query("Select * from item ORDER BY RAND() LIMIT 12");
							foreach ($sqli as $key => $project) {
											?>
                        <div class="col-md-3 col-lg-3 col-sm-4 col-xs-12">
                            <div class="rl__project foo">
                                <div class="project__thumb">
                                    <a href="single-Item.php?Id=<?php echo $project["Id"]; ?>&catagory=<?php echo $project["catagory"]; ?>">
									<img  alt="project images" src='../../../power/Item/<?php echo $project ['FileName']; ?>' 
										width="" height="300" >
                                        
                                    </a>
									
									<?php echo $project ['item_name']; ?>
                                </div>
                            </div>
							
                        </div>
						<?php } ?>
                        <!-- End Single Service -->
                        
                    </div>
                </div>
            </div>
        </section>
        <!-- End Service Area -->
        <!-- Start Newsletter Area -->
        <section class="htc__newsletter__area ptb--90 bg__gray">
            <div class="container">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="newsletter__wrap">
                            <h2 class="title__line">SUBSCRIBE <span class="text--theme">NEWSLETTER</span></h2>
                            <h4>Subscribe our newsletter and get latest update</h4>
                            <div class="newsletter__form">
                                <div class="input__box">
                                    <div id="mc_embed_signup">
                                        <form action="#" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
                                            <div id="mc_embed_signup_scroll" class="htc__news__inner">
                                                <div class="news__input">
                                                    <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="Email Address" required>
                                                </div>
                                                <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
                                                <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_6bbb9b6f5827bd842d9640c82_05d85f18ef" tabindex="-1" value=""></div>
                                                <div class="clearfix subscribe__btn"><input type="submit" value="SUBSCRIBE NOW" name="subscribe" id="mc-embedded-subscribe" class="bst__btn btn--white__color">
                                                    
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                </div>        
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
        </section>
        <!-- End Newsletter Area -->
        
        

    </div>
    <!-- Body main wrapper end -->

  
	
	

</body>
<a id="scrollUp" href="#top" style="position: fixed; z-index: 2147483647;"><i class="zmdi zmdi-chevron-up"></i></a>


</html>


<?php
require('../includes/footer.php');
?>