Виртуальный Брест
Главная Портал Форум Рассылки Контакт Для клиентов Статьи

 
Магазин интимных товаров
Магазин интимных товаров
 
АФФАБЕЛЬ - шаг к красоте
АФФАБЕЛЬ - шаг к красоте
 

Виртуальный хостинг - дом для вашего сайта - лучшее предложение в Бресте!


Полный список глав книги

Как сделать Интернет-магазин? - 2


Когда все готово, пора приступать к алгоритму выборки данных их нашего текстового файла с прайсом. Как Вы уже, надеюсь, догадались, он совсем не сложен. Считать файл в массив:

$file = "price.txt";
$tovar   = file ( $file   );

Дальше надо обработать массив $tovar[] в цикле с выводом результатов работы на экран:

$i = 0;                              // счетчик начинается с нуля
while ($i < count($tovar)): // открыли цикл до последнего элемента в массиве

  echo $tovar[$i];              // выводим строку на экран

  echo “<br>”;                  // не забываем про перевод строк

$i++;                               // заканчиваем цикл

endwhile;

Вот Вам и самый простейший вариант Вашего прайса. Он, правда, обладает существенным недостатком – весь прайс выводится за один раз, да еще все колонки в одной строке. А это не приемлемо по эстетическим :-) причинам.

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

Значит, нужно отделить разделы прайса от информации о товаре. Это можно сделать, если обратить внимание на то, в какой из колонок идет название раздела. Как правило, в той же, что и название товара. Но – в строке с названием раздела нет информации о цене товара, а это может служить хорошим отличительным признаком для программы. Достаточно каждый раз отслеживать наличие в выбранной строке колонку цен. Когда там пусто – в строке название раздела, и его можно вывести на экран, если нет – это товар, такую строку просто пропускаем, если надо выводить только названия разделов. И, наоборот, для вывода только товаров.

Впрочем, названия разделов сами по себе мало кого заинтересуют. Нам надо продумать возможность просмотра конкретного раздела прайса. Для этого выводимые наименования разделов прайса надо сделать ссылками. А в ссылке в качестве параметра указать информацию о том, с какой строки начинается данный раздел. Немного модернизируем наш алгоритм вывода разделов прайса таким образом, что бы после нажатия на ссылку-наименование раздела посетитель попадал на другую программу, которая начинала бы просмотр файла с прайсом не с начала, а с того места, которое передано по ссылке в качестве параметра. И уже выводила бы не разделы прайса, а сами товары – их цену, наименование, описание и т.д. Тут происходит обратное.

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

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

Теперь о том, как разделить информацию в выбранной строке по колонкам. Отведем каждой колонке свою переменную. Если колонок в прайсе пять, то и переменных надо зарезервировать тоже пять. Для того, что бы не запутаться, возьмите похожие имена: $n_1, $n _2, $n_3, $n_4, $n _5. Теперь, если нужная строка находится в массиве $tovar[$i], достаточно применить такую конструкцию:

   list ($n_1, $n_2, $n_3, $n_4, $n_5) = split ("\t",$tovar[$i]); 

И если колонки были разделены символом табуляции, они распределяться каждая в свою переменную. Если Вы использовали другой разделитель колонок, Вам надо прописать его вместо \t. Теперь легко проверить наличие цены, а также отсортировать и отформатировать данные прайса нужным образом.

Вот Вам и готовое решение для того, что бы просто выводить прайс по разделам на экран. Но этого еще не достаточно для полноценного Интернет-магазина, так как он подразумевает возможность заказа выбранных товаров.

Мы подошли к очень интересной теме – виртуальная корзина. Не сомневаюсь, на очень многих сайтах Вы пробовали заказать выложенный там товар, и на всех работа корзины была реализована по-разному. Что надо стандартному посетителю от Интернет-магазина? Правильно, купить товар. А что ему для этого требуется? Удобная навигация, легкий и быстрый доступ к товарам, возможность изменить количество одного наименования товара в корзине, возможность удалить товар из корзины, информация о товаре (данные, параметры, фотография, наконец – цена!). Это – необходимый минимум – увеличение доступных функций отрицательно сказывается на быстродействии и существенно усложняет программу. Но – этого более чем достаточно для нас.

Итак, как можно хранить товары в корзине покупателя? Можно попросить его (покупателя, конечно) зарегистрироваться в системе, но для этого надо быть уверенным в необходимости нашего товара для покупателя. Чаще это не так :-). А поэтому не усложняйте жизни своим клиентам различного рода регистрациями.

Подумайте – как относитесь к ним Вы сами, часто ли хочется оставлять свои данные на сомнительных :-) сайтах? Вот именно, очень не хочется. А значит, надо иметь очень веские причины, что бы ввести регистрацию. Такими причинами могут быть: наличие постоянного круга покупателей, ходовой товар и т.д. Впрочем, это уже не относится к теме статьи. Сделайте свой выбор сами. Только имейте в виду – регистрацию тоже придется разрабатывать самому.

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

Читать еще...



Артемий Лебедев

Ководство
В 1997 году Артемий Лебедев начал писать главы будущей книги про дизайн. Прошел год, но материала было недостаточно для издания книги. Тогда он стал выкладывать главы на сайте...

Динар Дальви

XML.NET
В настоящее время XML представляет собой устоявшуюся технологию, применяемую для описания и передачи данных. Она оказывает существенное влияние практически на все аспекты...

Дмитрий Ляпин, Александр Никитин

PHP - это просто. Начинаем с видеоуроков (+ CD-ROM)
Для быстрого освоения PHP «с нуля» выполните следующее:-вначале прослушайте первый видеоурок и повторите практический пример,-затем прочитайте первую главу...

Марк Бейтс

CoffeeScript. Второе дыхание JavaScript
Если вы уже умеете писать на JavaScript, на CoffeeScript вы сможете делать это лучше. А поскольку программный код на CoffeeScript "компилируется" в программный код на JavaScript,...

    Информация

Главная - переход на начало
Тарифы на Российский хостинг
Правила - что можно а что нет
Заказ - сделайте это сейчас
Выбор домена - найди свое имя
Регистрация домена - купить
Оплата - варианты для всех
Панель управления Россия
Панель управления Беларусь
Вопросы и ответы - информация
Разработка сайтов - сопровождение
Виртуальный Брест - портал
Контакт - обратная связь
Наш форум - пообщаемся?

Список доменов
в которых доступна бесплатная регистрация имен при покупке хостинга, а так же открытие поч- тового ящика:

Новости Бреста:

Второй порыв теплосетей в Бресте - двенадцать многоэтажных домов и один детский сад остались без тепла
Почти тонну мёда задержали налоговики при проверке в Бресте
Зарплата в конвертах в Бресте - видео
Трое жителей Кавказа в "поисках работы" забрались прямо в лес в пограничную зону
Профилактика квартирных краж - важно
Современный животноводческий комплекс на 1500 голов строится в СПК "Королевский" Кобринского района - фото
Результаты проходящей на территории Брестской области акции "Не упусти свой шанс"
Осенний месячник по наведению порядка на земле проходит на Брестчине - важно
В Лунинецком районе в водоеме нашли автомобиль с телом внутри
ГАИ: брестчанин решил стать маршрутчиком и в пьяном состоянии вез горожан

© Виртуальный Брест 2001 - 2009 Автор проекта: Андрей Кухарчик Дизайн: Partgraphic