Результаты, чтобы вытащить выбранную категорию из галереи - php sql - PullRequest
0 голосов
/ 15 марта 2019

У меня есть страница галереи на моем веб-сайте, над которой я работаю, на которой при входе в нее просто отображаются ВСЕ категории (я просто SELECT * FROM tblImages, однако теперь я добавил фильтр и хочу, чтобы пользователи тогдачтобы иметь возможность выбрать категорию фотографии, которую они хотели бы видеть, появится в галерее.

Мой код (мой раскрывающийся список):

<div class="grid-2">                
    <form action = "" method = "POST">
     <label>Competition Categories</label>
     <select name="catID">
     <option value="">Select</option>
     <option value="1">Black & White</option>
     <option value="2">Urban</option>
     <option value="3">Natural World</option>
     <option value="4">Anything Goes</option>
     <option value="5">Straight Out Of The Camera</option>
     <option value="6">Landscape</option>
     </select>
     </fieldset>
    <button name="view-cat" type="submit" type="button">View</button>
   </form>
</div>

Код моей галереи с моим запросомчтобы сначала показывать ВСЕ изображения:

<div class="row">
    <div class="grid-full">
        <h1><u>GALLERY</u></h1>                 
            <div class="masonry">
            <?php
            $query = "SELECT * FROM `tblImage`";
            $result = $conn -> query($query);
            while($row = $result -> fetch_assoc())
            {
            ?>

            <div class="item">
            <a href="<?php echo $row['fldFilePath']; ?>" data-lightbox="gallery" data-title="<?php echo $row['fldName']; ?>"><img alt src="<?php echo $row['fldFilePath']; ?>" class="ImgRound"></a>
            <button class="update-title-btn">Update</button>
            <button class="delete-img-btn">Delete</button>
            </div>

            <?php
            }
            ?>

Знаете ли вы, как я тогда запустил бы запрос на SELECT * FROM tblImage WHERE fldCatID =1; в зависимости от того, выбрал ли пользователь что-либо из выпадающего списка ??

Спасибо

Ответы [ 2 ]

2 голосов
/ 15 марта 2019

Сначала необходимо убедиться, что идентификатор категории установлен и является числовым (чтобы избежать SQL-инъекций):

$catID = (isset($_POST['catID']) && is_numeric($_POST['catID'])) ? $_POST['catID'] : false;

Затем можно выполнить запрос:

$query = "SELECT * FROM `tblImage`" . (($catID) ? " WHERE fldCatID $catID" : "");

Использованиетроичный оператор (($catID) ? " WHERE fldCatID $catID" : "") выберет категорию, только если она установлена ​​пользователем.

1 голос
/ 15 марта 2019

Вы можете просто сделать запрос следующим образом:

<?php

if(isset($_POST['view-cat']){
    $query = "SELECT * FROM `tblImage` WHERE fldCatID ='".$_POST['catID']."'";    
    $result = $conn -> query($query);
    while($row = $result -> fetch_assoc())
    { 

... the code will loop

    }
}else{
$query = "SELECT * FROM `tblImage` ";    
    $result = $conn->query($query);
    while($row = $result-> fetch_assoc())
    { 

... the code will loop if no selection

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...