You would normally define a script tag something like this:
What if you replaced it with this piece of code?
A sample code would look something like this:
This function creates a script tag on clicking the image and that script tag calls a php file that returns the content. First it checks that a dynamically created script tag designed to do precisely this does not already exist. A large number of clicks would create a large number of script tags and that would not do site performance any good. What will the backend php code look like?
There you go, simple and powerful. A combination of dynamic script creation and .js file imitation using a server side script can, to a certain extent, simulate the AJAX effect of updating parts of a page without a complete refresh.