<?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="">
                                        <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="400" height="400">
                                        </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-12">
                        <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 4");
							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>
               
                                        </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');
?>