Dzięki za odpowiedź.
Problem częściowo rozwiązany z pomocą ChatGPT
Nie patrzę tu na estetykę kodu, ma być funkcjonalny strona nie jest motłochem żeby obciążać bazę i serwer.
Wrzucam gotowca jaki mi wypluł. troszkę edytowany kod przez kolegę w zapytaniu i śmiga tak jak mi potrzeba.
get_images.php<?php
// Połączenie z bazą danych
// $conn = new mysqli($host, $username, $password, $database);
// if ($conn->connect_error) {
// die("Connection failed: " . $conn->connect_error);
// }
// Zapytanie SQL pobierające ścieżki do zdjęć i miniatur, posortowane po dacie uploadu
$sql = "SELECT i.thumbnail_path, i.gallery_path, c.group FROM images AS i LEFT JOIN categories AS c ON i.category_id = c.id ORDER BY i.upload_date DESC"; // Sortowanie malejąco po dacie uploadu
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Iteracja przez wyniki zapytania
while($row = mysqli_fetch_assoc($result)) {
echo '<div " class="col-12 col-sm-6 col-md-4 col-lg-3 column_single_gallery_item ' . $row["group"] . '">'; echo '<img src="' . $row["thumbnail_path"] . '" alt="">'; echo '<div class="hover_overlay">'; echo '<a class="gallery_img " href="' . $row["gallery_path"] . '"><i class="fa fa-eye"></i></a>'; }
} else {
}
// Zamykanie połączenia
$conn->close();
?>
get_categories.php<?php
// Połączenie z bazą danych
$conn = new mysqli($host, $username, $password, $database);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error); }
// Zapytanie SQL pobierające kategorie
$categories_query = "SELECT * FROM categories";
$categories_result = $conn->query($categories_query);
if ($categories_result->num_rows > 0) {
// Wyświetlenie przycisków kategorii
while($category_row = mysqli_fetch_assoc($categories_result)) {
echo '<button class="btn" id="' . $category_row["group"] . '" type="button" data-filter=".' . $category_row["group"] . '">' . $category_row["cat_name"] . '</button>'; }
} else {
}
// Zamykanie połączenia
// $conn->close();
?>
upload.php<?php
// Import configuration from config.php
require_once 'config.php';
// Connect to the database
$conn = new mysqli($host, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error); }
$target_gallery_dir = "images/gallery/";
$target_thumbnail_dir = "images/thumbnail/";
$uploaded_images = array(); $upload_failed = false;
if (isset($_POST["submit"])) { $category_id = $_POST["category"]; // Get category ID from the form
// Handle multiple uploaded files
foreach ($_FILES['image']['tmp_name'] as $key => $tmp_name) {
$filename = $_FILES['image']['name'][$key];
$target_gallery_file = $target_gallery_dir . basename($filename); $target_thumbnail_file = $target_thumbnail_dir . basename($filename);
if ($check !== false && $imageFileType == "jpg") {
// Create thumbnail
$thumb_width = 400; // New thumbnail width
$thumb_height = 600; // New thumbnail height
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
$source = imagecreatefromjpeg($target_gallery_file);
imagecopyresized($thumb, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height);
imagejpeg($thumb, $target_thumbnail_file);
imagedestroy($source);
imagedestroy($thumb);
// Save image information in the database
$sql = "INSERT INTO images (gallery_path, thumbnail_path, category_id, upload_date) VALUES ('$target_gallery_file', '$target_thumbnail_file', '$category_id', CURRENT_TIMESTAMP)";
if ($conn->query($sql) !== TRUE) {
$upload_failed = true;
}
$uploaded_images[] = $filename;
} else {
$upload_failed = true;
}
} else {
$upload_failed = true;
}
}
// After successful upload
if (!$upload_failed) {
echo "Zdjęcia zostały pomyślnie wgrane."; } else {
echo "Wystąpił błąd podczas wgrywania zdjęć."; }
}
// Close database connection
$conn->close();
?>
upload_formularz.php <div >
<?php if (!empty($success_message)): ?> <p>
<?php echo $success_message; ?></p>
<?php endif; ?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image[]" multiple accept="image/jpeg">
<select name="category">
<option value="">Wybierz kategorię</option>
<option value="1">Ciążowa</option>
<option value="2">Noworodkowa</option>
<option value="3">Kobieca</option>
<option value="4">Plener</option>
<option value="5">Studio</option>
<option value="6">Świąteczna</option>
</select>
<input type="submit" value="Upload zdjęcia" name="submit">
</form>
</div>
gallery.phpTen kod wrzucamy gdzieś gdzie ma być wyświetlana galeria
<?php require_once 'get_images.php'; ?>
Jedyna rzecz jaka jeszcze nie działa to wczytywanie 10 następnych zdjęć po scrollu ( pracuję nad tym

)