Я думал, что упросту свой вопрос и начну с попытки решить одну проблему за раз вместо двух. Оценка -1 говорит мне, что я не достаточно ясно, поэтому я попробую еще раз Мой оригинальный пост цитируется ниже.
С помощью следующего кода я могу отображать данные из моей таблицы, которые удовлетворяют условию, что категория Scenics:
<?php
$category = $_GET['category'] ?? 'Scenics';
$sql = "SELECT * FROM photo_library ";
$sql .= "WHERE category='" . $category . "' ORDER BY id ASC";
$image_set = mysqli_query($db, $sql);
$image_set_desc = mysqli_query($db, $sql);
?>
То, что я хочу сделать, это иметь динамически устанавливается. Вместо $category = $_GET['category'] ?? 'Scenics';
есть ли способ не установить способ, которым он выше? Я хотел бы, чтобы он был установлен в соответствии с тем, что он находит в столбце «категория» моей таблицы SQL, чтобы позже я мог сказать, когда категория - Scenics, а sub_category - это Coastal, отображать только эту информацию (поэтому мне нужно будет сделать что-то подобное для подкатегории).
РЕДАКТИРОВАТЬ: Я искал термин массив . Я хочу, чтобы $ sub_category был массив на основе того, что находится в столбце sub_category моей таблицы SQL.
Я также знаю о риске использования $ _GET, но это будет находиться на защищенном сайте, где вы получите доступ только в том случае, если вы являетесь участником, и вы являетесь участником только в том случае, если вы подаете заявку и получаете разрешение на доступ вручную. И нет никакой пользовательской информации в защищенной части сайта. Это строго ресурсный сайт для загрузки графики и изображений.
Я пытаюсь создать галерею изображений с использованием PHP и My SQL вместо того, чтобы кодировать все в HTML на страница. Я создал тестовую таблицу с несколькими столбцами и рабочую страницу, где вся информация извлекается и отображается.
Два основных значения, которые будут использоваться для отделения входов изображений друг от друга, - это категория 'и' sub_category '. Работающая страница использует только категорию и прекрасно работает.
<?php
$category = $_GET['category'] ?? 'Agroforestry';
$sql = "SELECT * FROM photo_library ";
$sql .= "WHERE category='" . $category . "' ORDER BY id ASC";
$image_set = mysqli_query($db, $sql);
$image_set_desc = mysqli_query($db, $sql);
?>
$ image_set извлекает информацию для фактического изображения, а $ image_set_desc выполняет работу для ссылок и размера файла. Это добавление миниатюры:
<?php while($subject = mysqli_fetch_assoc($image_set)) { ?>
<li><a href="<?php echo h($subject['jpg_location']); ?>" title="<?php echo h($subject['title']); ?>" data-title="<?php echo
h ($ subject ['id']); ?> ">" src = "#" alt = "" aria-описаныby = "">
<?php while($subject_desc = mysqli_fetch_assoc($image_set_desc)) { ?>
<p id="<?php echo h($subject_desc['id']); ?>"><b>Filename:</b> <?php echo h($subject_desc['filename']); ?><br>
<a class="btn btn-default btn-xs mrgn-tp-sm" role="button" href="<?php echo h($subject_desc['tif_location']); ?>">TIFF <span
class = "wb-inv"> image download () "> JPG image download ()
Проблема на следующей странице, на которой я тестирую, есть намного больше картинок, и они разбиты на несколько подкатегорий. Я хочу отображать картинки только с определенной субкатегорией -категории под соответствующими заголовками.
Я очень новичок в PHP и не знаю, как установить что-то вроде $ sub_category для того, что он находит в этом столбце. Я не могу использовать
$sub_category = $_GET['sub_category'] ?? 'Coastal';
потому что подкатегория должна быть извлечена из таблицы SQL. Я не знаю, что я делаю, пока
$sub_category = isset($_GET['sub_category']);
ничего не нарушает, это также не делает кажется, работает. Если это как-то работает, то
<?php while(($subject = mysqli_fetch_assoc($image_set)) && ($sub_category == 'Coastal')){ ?>
не потому, что на странице ничего не генерируется. Я не уверен, что моя проблема с определением $ sub_category, в то время как l oop, или оба.