Я изучаю PHP из книги Мураха, и я столкнулся с некоторыми проблемами, чтобы понять этот код,

<nav>
  <ul>
     <?php foreach ($categories as $category) : ?>
     <li>
        <a href="?category_id=<?php echo $category['categoryID']; ?>">
                    <?php echo $category['categoryName']; ?>
        </a>
     </li>
     <?php endforeach; ?>
  </ul>
</nav>

Моя проблема в этой части,

<a href="?category_id=<?php echo $category['categoryID']; ?>">
     <?php echo $category['categoryName']; ?>
</a>

Все, что это пытается сделать, это отобразить список категорий. Итак, каждый раз, когда пользователь нажимает на эту кнопку, передайте идентификатор категории. Почему это написано так? почему вопросительный знак с category_id (? category_id) в начале? это переменная и присвоение ей оставшегося кода? и почему оператор эха для categoryID в теге привязки? Потому что на веб-странице отображается только categoryName. Я только новичок, извините, если это звучит так глупо.

php
1
Tom 7 Янв 2016 в 09:28

4 ответа

Лучший ответ
<a href="?category_id=<?php echo $category['categoryID']; ?>">
     <?php echo $category['categoryName']; ?>
</a>

Итак, каждый раз, когда пользователь нажимает на эту кнопку, передайте идентификатор категории. Почему это написано так?

Когда пользователь нажимает на категорию, она должна отображать только ту категорию, по которой щелкнули пользователи. т.е. взяв этот идентификатор категории из URL-адреса, он запрашивает базу данных и получает категорию как

select * from category where category_id='$category_id'

И показать пользователям категорию, по которой пользователи нажимают

почему вопросительный знак с category_id? это переменная и присвоение ей оставшегося кода? и почему оператор эха для categoryID в теге привязки?

Вопросительный знак присутствует, потому что вопросительный знак вводит часть URL-адреса «строка запроса».

Оператор echo отображает идентификатор категории, который является строкой запроса для этого URL-адреса, и имя отображается, потому что имя каждой категории отображается в теге href. Таким образом, оно отображается каждый раз как

<a href="?category_id=1234">Watch</a>

Когда пользователь нажимает на эту ссылку, пользователь получает страницу с одной категорией, а URL-адрес будет

your_url?category_id=1234
1
Drudge Rajen 7 Янв 2016 в 06:44

Цель этих строк - создать что-то вроде:

<a href="?category_id=1234">Men's Suits</a>

Знак вопроса присутствует потому, что знак вопроса вводит часть URL-адреса «строка запроса» (в этом случае остальная часть URL-адреса подразумевается как текущая страница).

В HTML "теги" выглядят так:

<tagname>
<tagname attribute="value"...>
</tagname>

В некотором смысле являются инструкциями для веб-браузера о том, как форматировать видимые элементы страницы (текст, изображения и т. д.). Вы не видите самих тегов, вы видите их действие.

Теги <a> ... </a> создают привязку, интерактивную ссылку, но вы видите то, что появляется между <a> и </a> - в моем примере слова Мужские костюмы .

1
John Hascall 7 Янв 2016 в 06:41

В основном в этом фрагменте кода отображается список категорий, который начинается с для каждого цикла, чтобы проверить, сколько категорий у него есть.

<a href="?category_id=<?php echo $category['categoryID']; ?>">
                    <?php echo $category['categoryName']; ?>

Для каждой категории он создает ссылку привязки с двумя параметрами: идентификатор категории и имя. В php мы используем echo для отображения представления, поскольку это сторона сервера для визуализации представления, мы используем echo. В адресной строке URL-адреса у вас есть идентификатор категории, а на странице - имя категории

1
Wasiq Muhammad 7 Янв 2016 в 06:34

Ваши ответы:

1) Почему это написано так:

- Поскольку HTML и PHP могут быть встроены друг в друга, здесь мы встраиваем PHP в HTML.

2) почему знак вопроса с category_id (? Category_id) в начале?

- Поскольку мы передаем некоторые данные по URL-адресу, поэтому необходима строка запроса.

- Мы можем получить данные, переданные по URL (строке запроса) как $_GET на соответствующей странице. Текущая страница (self) в нашем случае.

3) и почему оператор эха для categoryID в теге привязки?

- Поскольку HTML и PHP могут быть встроены друг в друга, здесь мы встраиваем PHP в HTML для вывода идентификатора категории.

1
Pupil 7 Янв 2016 в 06:39