sajid
sajid

Reputation: 257

get images from mysql with php jquery ajax and display them in html page inside DIVs

I am editing my question after in depth searching about my problem basically my website is a fashion display website it displays shoes cloths and bags etc now its obvious that i will be having lots of pics i was solving my problem with jquery and javascript that when a user clicks a thumbnail on the index page or he goes to the menu and clicks the shoes link javascript opens the larger image in a new tab but now i m switcing to php what i did is below

  1. I made a mysql database having paths to the images like images/zara/thumbnails/shoes for thumbnails and images/zara/shoes for the larger images

  2. when the user clicks on the links for ex(shoes) the link text will be grabbed by jquery like this

       $(document).ready(function() {
        $('ul.sub_menu a').click(function() {
            var txt = $(this).text();  
                $.ajax({
                type: 'POST',
                url: 'thegamer.php',
                data: {'txt'}
                });
        });
    });
    

Further pass it to the php file now here i m facing a problem what i need at the moment is

that how will php make search on the basis of that var txt in the database retrieve the thumbnails of the shoes open a new tab say(shoes.html) and display all the available shoes thuumbnails in divs

Upvotes: 4

Views: 8568

Answers (5)

Derk Arts
Derk Arts

Reputation: 3460

You have an error in your AJAX code (your forgo to include the actual var:

$(document).ready(function() {
    $('ul.sub_menu a').click(function() {
        var txt = $(this).text();  
            $.ajax({
            type: 'POST',
            url: 'thegamer.php',
            data: {'txt':txt}  //added :txt here
            });
    });
});

Now in PHP:

$txt = $_GET['txt'];
//Now lookup $txt in you msyql db
//And echo the result, so JS can read it.

Upvotes: 0

Derk Arts
Derk Arts

Reputation: 3460

Css:

#imagePopup{ float:left; z-index:10; position: absolute;} 

Add some positioning

HTML:

<div id="prodtwoid" class="prodcls">
<img src="images/thumbnail/zara/2.png" alt="ZARA"/>
</div>

<div id="prodthreeid" class="prodcls">
<img src="images/thumbnail/puma/1.png" alt="PUMA"/>
</div>

<div id="prodfourid" class="prodcls">
<img src="images/thumbnail/hermes/1.png" alt="HERMES"/>
</div>
//This is you popup div
<div id='imagePopup' style='display:none'>
</div>

JS:

$('.prodcls').click(function(){
   var src = $(this).attr('src').replace('/thumbnail', '');
    $("#imagePopup").html("<img src='"+src+"'/>")
    $("#imagePopup").toggle();
});

Updated answer:

HTML: (give every image a link):

<a href='showImage.php?img=path/of/image.jpg'><img src='path/of/thumb.jpg'/></a>

showImage.php:

$sImagePath = $_GET['img'];
echo "<div class='imgDiv'>";
echo "<img src='$sImagePath' />";
echo "</div>;

Upvotes: 2

Jake Feasel
Jake Feasel

Reputation: 16955

Here's the jquery code that should work:

<script>
$(function () {

  $(document).on('click', 'div.prodcls img', function (e) {
    e.preventDefault();
    window.open($(this).attr('src').replace('/thumbnails', ''), '');
  });

});
</script>

And some css for good measure:

<style>
div.prodcls img:hover {
  cursor: pointer;
}
</style>

Here's a working fiddle: http://jsfiddle.net/DenGp/

Upvotes: 3

Naveed
Naveed

Reputation: 42093

You can open actual image in new browser tab without jQuery:

For Example:

<div id="prodoneid" class="prodcls">
  <a href='images/zara1.png' target='_blank'>
    <img src="images/thumbnail/zara/1.png" alt="ZARA"/>
  </a>
</div>

Upvotes: 2

dbrin
dbrin

Reputation: 15673

Perhaps a lightbox is what you really need? take a look at this library: http://www.huddletogether.com/projects/lightbox2/

Upvotes: 0

Related Questions