От статики к динамике: в чем соль?

Около десятка лет назад, когда интернет только начинал захватывать мир, я начал свой путь сайтостроения. Я занимался программированием, но большего как черная консоль, университетского дряхлого компьютера, которую можно научить математическим исчислениям и сортировать всякие, никому не нужные данные, оно для меня не представляло. Я слышал, что именно так пишут игры, разрабатывают программы для компьютеров, самолетов, автоматов и даже бытовой техники. Но когда я познакомился с web программированием, я понял что это именно то, чего мне всегда так хотелось.

Чтобы создать простой сайт описания услуг, с контактными данными и прочей информацией, которая будет представляться вошедшим на сайт, хватит одного html. Так я и делал, писал сайты с помощью html. Схема всех их была единой, создавал файл index.html, в нем прописывал ссылки на другие html файлы, вдобавок к этому у меня была папка images, с отсортированными по дате картинками, вот и все. Этим способом я создал, чуть ли не десяток похожих друг на друга сайтов, но в глубине души, я понимал, что должно быть универсальное решение для всего этого, где же это веб программирование о котором все так восторженно твердят, ведь всем известно что html это не язык программирования, здесь нет ни логики, ни условий и циклов, вобщем всего что можно отнести к программированию. Однажды я получил заказ, нужно было написать сайт-каталог, который должен был иметь в себе около 100 товаров. Я как всегда, не задумываясь, стал создавать файлы .html, с названием, картинкой, описанием и другой информацией о товаре. В каждой странице должны были быть кнопки на следующий и на предыдущий товар.

Я конечно запутался в файлах, все менял их названия местами, пробовал поочередно все тестировать, но снова запутывался. После пары бессонных ночей, я кое-как (довольно криво) закончил работу и показал ее заказчику. Ему понравился сайт и он захотел вторую версию, срок у меня был лишь 2 недели. Показав мне один заморский каталог где все было реализовано он сказал, что пользователь должен иметь возможность сортировать товары по категориям, дате добавления, цене и делать поиск по ключевым словам, на сайте должна быть постраничная навигация. Заказчик был непоколебим, нужно было все реализовать. Но сухим html здесь не обойтись, здесь нужно программирование и я стал искать в интернете лучший язык веб-программирования и на одном из форумов наткнулся на некий php. Язык не сложен в изучении, имеет множество преимуществ перед другими языками (имеется в виду в разработке сайтов). Итак, я начал изучать php, наличие видеоуроков, множество сообществ, решенных задач и проблем на форумах сделали свое дело, через неделю я владел php, естественно на том уровне, который позволял мне закончить работу над сайтом.

Для хранения данных, вместо файлов я использовал субд «mysql» версии 4.1, которая вышла в том же году. Здесь тоже не было ничего сложного, несколько запросов, на понятном человеку английском языке и дело в шляпе. Благодаря связке php-mysql-html, мой сайт получился динамичным, больше не приходилось создавать сотни статических файлов и разумеется я избавился от вечных звонков заказчика, который по среди ночи вдруг захотел добавить товар на сайт. Для этого я создал административную часть ( разумеется закрытую для обычных пользователей), в ней были 4 - 5 полей, где заполнялись данные о товаре и нажимая кнопку сохранить товар добавлялся на сайт. Поиск, категории, постраничная навигация все что угодно, вопросы решались один за другим быстро и красиво. Я переделал весь сайт и это заняло у меня всего лишь одну неделю. Я был счастлив, я любил веб -программирование.

Для приблизительного описания моей работы приведу примеры, как я писал сайты до и после знакомства с php. В общем списке есть 10 товаров, кликнув на названия которых должна открыться страница самого товара:

В статическом html это выглядит так:

<table>
<tr>
	<td><a href = "товар_1.html">Товар1</a></td>
</tr>
<tr>
	<td><a href = "товар_2.html">Товар2</a></td>
</tr>
<tr>
	<td><a href = "товар_3.html">Товар3</a></td>
</tr>

....
ну и так до 10.

Тот же пример средаствами php:

<table>
<?php	foreach( $товары as $товар) { ?>
  <tr>
    <td>
       <a href = " <?php echo $товар[' ссылка '] ;?> " >
          <?php echo $товар[' название '] ;?>
       </a>
    </td>
  </tr>
<?php } ?>
</table>

(Если вы не знакомы с тегом table, то посоветую прочитать статью о табличной верстке)

Неважно сколько у вас ссылок, php напечатает их всех.

Эту задачу конечно можно решить с помощь html, но как же решить ее когда товаров больше 1000? Конечно, нужно использовать php, это не так сложно как кажется на первый взгляд.