Create a Responsive Gallery Using PHP, CSS and JAVASCRIPT

Good day everyone. Today! another tutorial Create a Responsive Gallery Using PHP, CSS and JAVASCRIPT for some advanced web developers which will develop their own gallery page for their web-based projects.

This tutorial is the combination of 3 programming languages. The PHP, CSS, and the JAVASCRIPT. PHP for accessing the database and managing datas through pages, then CSS or cascading stylesheet for the page design, and last is the JAVASCRIPT for an interactive effect beyond the website.

So let’s start our tutorial.

First, create a database. Name it as any name you desire. In my case, i use “itsourcecode” as the name of the database.

Then create a table, name it as  “gallery”. Then put the following attributes.

CREATE TABLE `gallery` ( `pic_id` int(11) NOT NULL, `pic_link` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Now for the connection to the database. Create a “connection.php” file then put the following codes.

<?php
$mysqli = new mysqli('localhost', 'root', '', 'itsourcecode') or die(mysqli_errno($mysqli));
?>

At the index page. Please put the following codes.

<?php include 'connection.php'; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Responsive Gallery</title>
<link href="assets/css/bootstrap.css" rel="stylesheet" type="text/css"/>
<a href="http://assets/js/bootstrap.js">http://assets/js/bootstrap.js</a>
<link href="assets/fancybox/jquery.fancybox.css" rel="stylesheet" type="text/css"/>
$("[data-fancybox]").fancybox({ });

</head>
<body>
<div class="container"><button class="btn btn-primary" type="button"> Upload Photo</button>
<div class="panel panel-default" style="margin-top: 10px;">
<div class="panel-body">
</div>
</div>

<!-- Start Upload Photo Modal -->
<div id="uploadPhotoModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">

<button class="close" type="button">x</button>
<h5 class="modal-title">Upload Photo</h5>
</div>
<form method="post" action="upload-action.php" enctype="multipart/form-data" role="form">
<div class="modal-body"></div>
<div class="modal-footer">
<div class="btn-group"><button class="btn btn-danger" type="button">Close</button>
<button class="btn btn-primary" type="submit"> Upload</button></div>
</div>
</form>
</div>
</div>
</div>
<!-- End Upload Photo Modal -->

<a href="http://assets/js/jquery.min.js">http://assets/js/jquery.min.js</a>
<a href="http://assets/js/modal.js">http://assets/js/modal.js</a>
<a href="http://assets/fancybox/jquery.fancybox.js">http://assets/fancybox/jquery.fancybox.js</a>
</body>
</html>
<div class="container">
<div class="panel panel-default" style="margin-top: 10px;">
<div id="uploadPhotoModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-footer">
<div class="container">
<div class="panel panel-default" style="margin-top: 10px;">
<div id="uploadPhotoModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-footer">
<p>For the javascript and css please download this&nbsp;<a href="//itsourcecode.com/wp-content/uploads/2017/05/fancybox.zip">fancybox</a></p>
<p>This is important to make your gallery page be responsive and interactive without refreshing your page.</p>
<p>Now for uploading the photo. Create a <strong>"upload-action.php"</strong> file then put the following codes.</p>
<pre class="lang:php decode:true">&lt;?php
include 'connection.php';

if ($_FILES['photo']['name'] != null) {
move_uploaded_file($_FILES['photo']['tmp_name'], "photos/" . $_FILES['photo']['name']);
$photo_link = "photos/" . $_FILES['photo']['name'];

$upload = $mysqli-&gt;query("INSERT INTO gallery (pic_link) VALUES ('$photo_link')");

if ($upload) {
header("Location: index.php");
} else {
echo $mysqli-&gt;error;
}
}
?&gt;</pre>
<p><strong>Screenshots:</strong></p>
<figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/5-2.png"><img class="alignnone size-medium wp-image-8110" src="//itsourcecode.com/wp-content/uploads/2017/05/5-2-300x147.png" alt="" width="300" height="147"></a></figure><figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/featured-image-1.png"><img class="alignnone size-medium wp-image-8113" src="//itsourcecode.com/wp-content/uploads/2017/05/featured-image-1-300x146.png" alt="" width="300" height="146"></a></figure><figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/6-2.png"><img class="alignnone size-medium wp-image-8112" src="//itsourcecode.com/wp-content/uploads/2017/05/6-2-300x147.png" alt="" width="300" height="147"></a></figure><figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/4-4.png"><img class="alignnone size-medium wp-image-8109" src="//itsourcecode.com/wp-content/uploads/2017/05/4-4-300x147.png" alt="" width="300" height="147"></a></figure><figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/3-5.png"><img class="alignnone size-medium wp-image-8108" src="//itsourcecode.com/wp-content/uploads/2017/05/3-5-300x199.png" alt="" width="300" height="199"></a></figure><figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/2-5.png"><img class="alignnone size-medium wp-image-8107" src="//itsourcecode.com/wp-content/uploads/2017/05/2-5-300x147.png" alt="" width="300" height="147"></a></figure><figure><a href="//itsourcecode.com/wp-content/uploads/2017/05/1-5.png"><img class="alignnone size-medium wp-image-8106" src="//itsourcecode.com/wp-content/uploads/2017/05/1-5-300x147.png" alt="" width="300" height="147"></a></figure><p>      </p>
<p>If you have a question regarding this tutorial entitled as <strong>"Create a Responsive Gallery using PHP/CSS/JAVASCRIPT",&nbsp;</strong>feel free to contact us by commenting below or visit our contact page. Thank you.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

Frequently Asked Questions

How does this PHP art gallery or museum management system work?

Artifact/artwork catalog with photos, classification, location tracking, exhibitions management, visitor ticketing, donor management.

What PHP and MySQL versions does this project require?

Most projects in this batch run on PHP 7.4 to PHP 8.2 with MySQL 5.7+ or MariaDB 10+. A few older projects need PHP 5.6 (deprecated, use XAMPP 7.x). To run: install XAMPP / WAMP / Laragon, extract project to htdocs, import the included .sql file via phpMyAdmin, edit the connection file (usually config.php or db_connect.php) with your DB credentials, browse to the project URL in your browser.

How do I set up the database for this PHP project?

Open phpMyAdmin (http://localhost/phpmyadmin/ on XAMPP), create a new empty database with the name specified in the project’s config.php. Click the Import tab, choose the included .sql file, click Go. Then edit config.php (or includes/connection.php) with: ‘localhost’, your MySQL username (usually ‘root’), your MySQL password (usually blank for XAMPP), and the database name.

Can I use this PHP project for a BSIT capstone or thesis?

Yes, but extend it. A bare CRUD app is too narrow for full capstone scope. Add: user roles via session checks, reports/dashboards (Chart.js + AJAX), PDF exports (TCPDF library), email notifications (PHPMailer), real domain extension (analytics, audit log, multi-branch support). Pair with Chapter 1-5 documentation matching your panel’s rubric.

Why am I getting ‘connection error’ or ‘undefined function mysqli_connect’?

Three common PHP issues: (1) Connection error: Apache + MySQL services not running in XAMPP control panel, OR database name in config.php does not match what you created in phpMyAdmin. (2) ‘undefined function mysqli_connect’: MySQL extension not enabled, in php.ini uncomment extension=mysqli (then restart Apache). (3) ‘No such file or directory’: MySQL socket path wrong, use 127.0.0.1 instead of localhost in the connection string.

Where can I find more PHP projects with source code?

Browse the PHP Projects hub for the full library (300+ vanilla PHP systems). For modern PHP MVC alternatives see Laravel Projects (74 systems) or CodeIgniter Projects (32 systems). For BSIT-focused capstone idea lists see 150 Best Capstone Project Ideas.

1 thought on “Create a Responsive Gallery Using PHP, CSS and JAVASCRIPT”

Leave a Comment