Введение в программирование на PHP5

       

Вывод описания продукта


Когда делается соединение со страницей detail.php, соответствующая строка запроса предоставляет странице ItemNumber продукта и значение Category или Criterion из предшествующего поиска. Страница detail.php применяет ItemNumber для извлечения всех связанных с ним полей из таблицы Product и выводит эту информацию на странице. Значение Category или Criterion используется для создания обратной ссылки на страницу поиска.


Программирование страницы достаточно просто. ItemNumber используется для извлечения соответствующей записи из таблицы Product и для доступа к изображению продукта в папке Pictures. Вся эта информация выводится затем на странице.

Пример I.10.

(html, txt)

Как мы уже делали на предыдущих страницах, прежде всего необходимо получить посланную на страницу строку запроса. В данном случае имеется три значения строки запроса, которые могут быть посланы. Будут получены значение ItemNumber вместе со значением Category или Criterion. Не имеет значения, что одно из двух последних значений будет отсутствовать в зависимости от типа выполненного на странице search.php поиска. Присваивание все равно можно выполнить, просто одно из значений будет null.

$ItemNumber = $_GET[ItemNumber] $Category = $_GET[Category] $Criterion = $_GET[Criterion]

В основном разделе страницы извлекается информация о продукте. Поиск записи о продукте основывается на значении ItemNumber, переданного со страницы поиска. Когда запись извлекается, ее значения присваиваются переменным для упрощения записи. Сохраняются все поля кроме ItemQuantity. Это поле используется в дальнейшем, а не для вывода на этой странице.

Изображение, связанное с продуктом, выводится с помощью тега <IMG>, используя ItemNumber для идентификации соответствующего изображения. Все изображения именуются в соответствии с регистрационными номерами соответствующих продуктов. Затем форматируется последовательность заголовков, чтобы представить данные о продукте, вместе с расширенным описанием продукта. Никакое специальное форматирование не применяется.

Затем появляется кнопка "Buy Now". Эта кнопка используется посетителем для покупки продукта, добавляя позицию в корзину покупателя. В данное время мы проигнорируем эту кнопку и обратимся к ней и связанному с ней программированию в дальнейшем. Можно отметить, однако, что эта кнопка имеет такие же характеристики стиля оформления, как и кнопка "Go" в меню поиска. Ее обработчики событий onMouseOver и onMouseOut связываются с процедурами JavaScript, импортированными на страницу в файле INCLUDE jscript.inc.

Ссылка внизу страницы возвращает на предыдущую страницу search.php. Но не только это: URL возвращает назад строку запроса, что приводит к повторному выводу результатов предыдущего поиска. (Возврат URL без строки запроса не предоставит странице search.php значение Category или Criterion. Страница search.php тогда по умолчанию вернется на домашнюю страницу (home), и результаты предыдущего поиска будут потеряны.)

Строка запроса передает оба значения Category и Criterion, даже если только одно из них было послано на эту страницу. Это означает просто, что одно из значений строки запроса будет null. Такая ситуация не имеет значения для страницы search.php. Она заново выполняет поиск на основе возвращаемого значения.

Это отсутствующее значение Category или Criterion также не влияет на вывод внутри обратной ссылки.

Back to "<?php echo $Category; echo $Criterion; ?>"

Одно из этих двух значений будет null, поэтому будет выводиться имеющееся значение, а другое выводиться не будет.

Страница detail.php имеет другое важно назначение, кроме вывода информации о продукте. На этой странице посетитель покупает продукты, заполняя свою корзину покупок с помощью кнопки "Buy Now". Мы вернемся к обсуждению сценария для этой задачи немного позже.


<img src="Pictures/<?php echo $ItemNumber; ?>.jpg" align="left" style="margin-right:30px"> <span class="head1"><?php echo $ItemTitle; ?></span><br/> <span class="head4">Item Number: <?php echo $ItemNumber; ?></span><br/> <span class="head4">Producer: <?php echo $ItemProducer; ?></span><br/> <span class="head4">Price: $<?php echo $ItemPrice; ?></span> <p><?php echo $ItemDescription; ?></p>
<form> <input type="submit" class="buttonL" name="BuyButton" value="Buy Now" onMouseOver="OverMouse(this)"; onMouseOut="OutMouse(this)"> </form>
<a href="search.php?Category=<?php echo $Category; ?> &Criterion=<?php echo $Criterion; ?>"> Back to <?php echo $Category; echo $Criterion; ?> </a>
</div>
</body> </html>
Пример I.10.
Как мы уже делали на предыдущих страницах, прежде всего необходимо получить посланную на страницу строку запроса. В данном случае имеется три значения строки запроса, которые могут быть посланы. Будут получены значение ItemNumber вместе со значением Category или Criterion. Не имеет значения, что одно из двух последних значений будет отсутствовать в зависимости от типа выполненного на странице search.php поиска. Присваивание все равно можно выполнить, просто одно из значений будет null.
$ItemNumber = $_GET[ItemNumber] $Category = $_GET[Category] $Criterion = $_GET[Criterion]
В основном разделе страницы извлекается информация о продукте. Поиск записи о продукте основывается на значении ItemNumber, переданного со страницы поиска. Когда запись извлекается, ее значения присваиваются переменным для упрощения записи. Сохраняются все поля кроме ItemQuantity. Это поле используется в дальнейшем, а не для вывода на этой странице.
Изображение, связанное с продуктом, выводится с помощью тега <IMG>, используя ItemNumber для идентификации соответствующего изображения. Все изображения именуются в соответствии с регистрационными номерами соответствующих продуктов. Затем форматируется последовательность заголовков, чтобы представить данные о продукте, вместе с расширенным описанием продукта. Никакое специальное форматирование не применяется.
Затем появляется кнопка "Buy Now". Эта кнопка используется посетителем для покупки продукта, добавляя позицию в корзину покупателя. В данное время мы проигнорируем эту кнопку и обратимся к ней и связанному с ней программированию в дальнейшем. Можно отметить, однако, что эта кнопка имеет такие же характеристики стиля оформления, как и кнопка "Go" в меню поиска. Ее обработчики событий onMouseOver и onMouseOut связываются с процедурами JavaScript, импортированными на страницу в файле INCLUDE jscript.inc.
Ссылка внизу страницы возвращает на предыдущую страницу search.php. Но не только это: URL возвращает назад строку запроса, что приводит к повторному выводу результатов предыдущего поиска. (Возврат URL без строки запроса не предоставит странице search.php значение Category или Criterion. Страница search.php тогда по умолчанию вернется на домашнюю страницу (home), и результаты предыдущего поиска будут потеряны.)
Строка запроса передает оба значения Category и Criterion, даже если только одно из них было послано на эту страницу. Это означает просто, что одно из значений строки запроса будет null. Такая ситуация не имеет значения для страницы search.php. Она заново выполняет поиск на основе возвращаемого значения.
Это отсутствующее значение Category или Criterion также не влияет на вывод внутри обратной ссылки.
Back to "<?php echo $Category; echo $Criterion; ?>"
Одно из этих двух значений будет null, поэтому будет выводиться имеющееся значение, а другое выводиться не будет.
Страница detail.php имеет другое важно назначение, кроме вывода информации о продукте. На этой странице посетитель покупает продукты, заполняя свою корзину покупок с помощью кнопки "Buy Now". Мы вернемся к обсуждению сценария для этой задачи немного позже.

Содержание раздела