Чтобы понять принцип написания страниц на PHP выполним следующий простой пример
Создайте в папке localhost/www/ файл index.php . Впишите в него
следующие строки
<html>
<head>
<title>
Урок1
</title>
</head>
<body>
<div style='width:100%'><b> Элемент меню #1</b></div>
</body>
</html>
Это обычный html код , выводящий всего один слой с текстом. Теперь представим, что вам нужно вывести 15 таких же предложений подряд. Без PHP пришлось бы просто скопировать строку с кодом div 15 раз, но:
1. Чтобы изменить кoличество строк впоследствии, нужно будет искать по файлу и удалять ненужное (а если их не 15, а 150?)
2. Сам файл будет весить много (что обидно, ведь выводится абсолютно одинаковая информации , но много раз)
3. И это не наш метод (:
Для того, чтобы вывести что-либо много раз, или просто несколько раз выполнить какое-то действие, в PHP есть
конструкция ЦИКЛОВ.
Вообще структура php-кода такова :
<? ..... ?> - Между тегами <? и ?> находится сам код. Таких блоков в документе может быть много, вставлять их можно куда угодно, даже разрывая посередине html код .
Все переменные в PHP обязательно начинаются со знака $ ($hello $x $i $opo). Объявлять переменные можно простым присваиванием , например, чтобы объявить переменную - строку : <? $str="объявили и сразу присвоили значение!"; ?> .....
СТРУКТУРА оператора FOR (оператор цикла) такова
for (переменная;условие;операция)
{
... повторяющиеся действия
}
Здесь переменная - это ранее объявленная или необъявленная переменная.
Условие - выражение, при котором цикл завершится
Операция - обычно операция увеличения переменной (счетчика).
Например for($i=0;$i<15;$i++) {} выполнится ровно 15 раз.
Подробнее про FOR будет выше (:
Так как сам php-код не виден в полученном html файле, необходимо как-то выводить информацию. Оператоp ECHO() выполняет вывод информации.
Например, можно написать <table> или, используя php , <? echo("<table>");?> ? результат будет один и тот же.
Итак,
код , выводящий 15 записей:
<html>
<head>
<title>
Урок1
</title>
</head>
<body>
<? for ($i=0;$i<15;$i++)
{
echo(" <div style='width:100%'><b> Элемент меню #1</b></div> ");
}
?>
</body>
</html>
На самом деле {} можно убрать , так как в случае, если в цикле выполняется только 1 оператор, они не нужны:
<html>
<head>
<title>
Урок1
</title>
</head>
<body>
<? for ($i=0;$i<15;$i++)
echo(" <div style='width:100%'><b> Элемент меню #1</b></div> ");
?>
</body>
</html>
А теперь, собственно, самая
полезная часть
<html>
<head>
<title>
Урок1
</title>
</head>
<body>
<? for ($i=0;$i<15;$i++)
{
echo(" <div style='width:100%'><b> Элемент меню # $i</b></div> ");
}
?>
</body>
</html>
Здесь мы подставляем вместо номера 1 значение текущего шага. В итоге строки нумеруются (: А вот как бы это выглядело на html
<html>
<head>
<title>
Урок1
</title>
</head>
<body>
<div style='width:100%'><b> Элемент меню # 1</b></div>
<div style='width:100%'><b> Элемент меню # 2]</b></div>
<div style='width:100%'><b> Элемент меню # 3</b></div>
<div style='width:100%'><b> Элемент меню # 4]</b></div>
<div style='width:100%'><b> Элемент меню # 5</b></div>
.....
<div style='width:100%'><b> Элемент меню # 15</b></div>
?>
Что намного дольше писать и намного больше размера на жестком диске занимает (: