Интернет-магазин

Постановка задач и функционал сайта, его внешняя структура. Главная страница интернет-магазина. Классы для работы с таблицами. Основное назначение диаграммы прецедентов. Модель сущность - связь. Главная страница админпанели, руководство пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.05.2015
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Заранее просчитав большинство из вариантов развития ситуации, вы получите несомненное превосходство над конкурентами.

Список литературы

1. Акила К., Еремеевский А. Интернет-магазин с нуля. Полное пошаговое руководство; Питер - Москва, 2013. - 176 c.

2. Басыров Р. 1С-Битрикс. Строим профессиональный сайт и интернет-магазин; Книга по Требованию - Москва, 2011. - 544 c.

3. Рассел Джесси Интернет-магазин; Книга по Требованию - Москва, 2012. - 100 c.

4. Рейнолдс Мэтью Сделай сам интернет-магазин; Лори - , 2008. - 536 c.

5. Соловьев Д., Писарев А. Интернет-магазин без правил; Питер - Москва, 2013. - 670 c.

Приложение А

Класс для работы с базой данных:

<?php

require_once "config_class.php";

require_once "checkvalid_class.php";

class DataBase {

private static $db = null;

private $config;

private $mysqli;

private $valid;

public static function getDB() {

if (self::$db == null) self::$db = new DataBase();

return self::$db;

}

private function __construct() {

$this->config = new Config();

$this->mysqli = new mysqli($this->config->host, $this->config->user, $this->config->password, $this->config->db);

$this->mysqli->query("SET NAMES 'UTF8'");

$this->valid=new CheckValid();

}

private function query($query) {

return $this->mysqli->query($query);

}

public function getAllonMass($table_name,$field,$mass){

if($mass===null) return false;

$mass=array_keys($mass);

$mass = array_unique($mass);

$mass = implode(",",$mass);

$query="SELECT ";

$field=explode(',',$field);

for($i=0;$i<count($field);$i++){

if($field[$i]!="*"&&strpos($field[$i],')')===false) $field[$i]='`'.addslashes($field[$i]).'`';

}

$field=implode(',',$field);

$query.="$field FROM `$table_name` WHERE id IN ($mass)";

$result_set=$this->query($query);

if(!$result_set) return false;

$i=0;

$data=array();

while($r=$result_set->fetch_assoc()){

$data[$i]=$r;

$i++;

}

$result_set->close();

return $data;

}

public function select_where($table_name,$where,$value)

{if($value=="") return false;

$query="SELECT * FROM `$table_name` WHERE $where='".addslashes($value)."'";

$result_set=$this->query($query);

if(!$result_set) return false;

$i=0;

while ($row=$result_set->fetch_assoc()) {

$data[$i]=$row;

$i++;

}

$result_set->close();

return $data;

}

public function select_all($table_name){

$query="SELECT * FROM `$table_name`";

$result_set=$this->query($query);

if(!$result_set) return false;

$i=0;

while ($row=$result_set->fetch_assoc()) {

$data[$i]=$row;

$i++;

}

$result_set->close();

return $data;

}

public function select_search($table_name,$values){

$query="SELECT * FROM `$table_name` WHERE `title` LIKE '%$values%' OR `articul` LIKE '%$values%' OR `description` LIKE '%$values%'";

$result_set=$this->query($query);

$i=0;

while($row=$result_set->fetch_assoc()){

$data[$i]=$row;

$i++;

}

$result_set->close();

return $data;

}

public function insert_product($table_names,$columns,$new_values){

$id=$this->getLastID("ordered");

$query="INSERT INTO ".$table_names[1]." (order_id,";

foreach($columns as $len){

$query.="`$len`,";

}

$query=substr($query,0,-1);

$query.=") VALUES ";

foreach($new_values as $key=>$value){

$query.="('".$id."','".$key."','".$value."'),";

}

$query=substr($query,0,-1);

return $this->query($query);

}

public function getAllOnTypeID($table_name,$typeID,$start,$end,$up=true){

if(!up){

$order=" ORDER BY `price` DESC ";

}

else {

$order=" ORDER BY `price` ";

}

$query="SELECT * FROM `$table_name` WHERE `type_id`=$typeID".$order."LIMIT $start,$end";

$result=$this->query($query);

$i=0;

while($row=$result->fetch_assoc()){

$data[$i]=$row;

$i++;

}

$result->close();

return $data;

}

/*public function deleteOnID($table_name,$id){

$query="DELETE FROM $table_name WHERE id=$id";

return $this->query($query);

}*/

public function getRowsNumber($table_name){

$query="SELECT COUNT(*) AS `numbers` FROM $table_name";

$resulting->$this->query($query);

$result=$resulting->fetch_assoc();

$resulting->close();

return $result;

}

public function getLastRow($table_name){

$query="SELECT LAST(*) FROM $table_name";

$result=$this->query($query);

$result_set=$result->fetch_assoc();

$result->close();

return $result_set;

}

public function insert($table_name, $new_values) {

$query="INSERT INTO $table_name (";

foreach ($new_values as $field => $value) $query .="`".$field."`,";

$query=substr($query, 0, -1);

$query .= ") VALUES (";

foreach($new_values as $value) $query .="'".addslashes($value)."',";

$query=substr($query, 0, -1);

$query.=")";

return $this->query($query);

}

private function select($table_name, $fields, $where="", $order="",$up=true, $limit="") {

for ($i=0; $i<count($fields); $i++) {

if ((strpos($fields[$i], "(")===false)&&($fields[$i]!="*")) $fields[$i]="`".$fields[$i]."`";

}

$fields=implode(",",$fields);

$table_name=$this->config->db_prefix.$table_name;

if(!$order) $order="ORDER BY `id`";

else {

if ($order!="RAND()") {

$order="ORDER BY `$order`";

if(!$up) $order .=" DESC";

}

else $order = "ORDER BY $order";

}

if($limit) $limit="LIMIT $limit";

if($where) $query="SELECT $fields FROM $table_name WHERE $where $order $limit";

else $query="SELECT $fields FROM $table_name $order $limit";

$result_set=$this->query($query);

//if(!$result_set) return false;

$i=0;

while ($row=$result_set->fetch_assoc()) {

$data[$i]=$row;

$i++;

}

$result_set->close();

return $data;

}

private function update ($table_name, $upd_fields, $where) {

$table_name=$this->config->db_prefix.$table_name;

$query="UPDATE $table_name SET ";

foreach ($upd_fields as $fields => $value) $query.="`$field` = '".addslashes($value)."'";

$query=substr($query, 0, -1);

if($where) {

$query.=" WHERE $where";

return $this->query($query);

}

else return false;

}

public function delete ($table_name, $where = "") {

$table_name=$this->config->db_prefix.$table_name;

if($where) {

$query="DELETE FROM $table_name WHERE $where";

return $this->query($query);

}

else return false;

}

public function deleteAll($table_name) {

$table_name=$this->config->db_prefix.$table_name;

$query="TRUNCATE TABLE `$table_name`";

return $this->query($query);

}

public function getFields($table_name, $field_out, $field_in, $value_in) {

$data=$this ->select($table_name, array($field_out), "`$field_in`='".addslashes($value_in)."'");

if(count($data)!=1) return false;

return $data[0][$field_out];

}

public function getFieldOnId($table_name,$id, $field_out) {

if(!$this->existsID($table_name, $id)) return false;

return $this->getFields($table_name, $field_out, "id", $id);

}

public function getAll($table_name, $order, $up) {

return $this->select($table_name, array("*"), "", $order, $up);

}

public function getAllOnField($table_name, $field, $value, $order, $up) {

return $this->select($table_name, array("*"), "`$field`='".addslashes($value)."'", $order, $up);

}

public function getLastID($table_name) {

$data=$this->select($table_name, array("MAX(`id`)"));

return $data[0]["MAX(`id`)"];

}

public function deleteOnID($table_name, $id) {

if(!$this->existsID($table_name, $id)) return false;

return $this->delete($table_name, "`id`='$id'");

}

public function setField($table_name, $field, $value, $field_in, $value_in) {

return $this->update($table_name, array($field =>$value), "`$field_in` = '".addcslashes($value_in)."'");

}

public function setFieldOnID($table_name, $id, $field, $value) {

if(!$this->existsID($table_name, $id)) return false;

return $this->setField($table_name, $field, $value, "id", $id);

}

public function getElementOnID($table_name, $id) {

if(!$this->existsID($table_name, $id)) return false;

$arr=$this->select($table_name, array("*"), "`id` = '$id'");

return $arr[0];

}

public function getRandomElements($table_name, $count) {

return $this->select($table_name, array("*"), "", "RAND()", true, $count);

}

public function getCount($table_name) {

$data=$this->select($table_name, array("COUNT(`id`)"));

return $data[0]["COUNT(`id`)"];

}

public function isExists($table_name, $field, $value) {

$data=$this->select($table_name, array("id"), "`$field` = '".addslashes($value)."'");

if(count($data)===0) return false;

return true;

}

private function existsID($table_name, $id) {

if(!$this->valid->validID($id)) return false;

$data=$this->select($table_name, array("id"), "`id`='".addslashes($id)."'");

if(count($data)===0) return false;

return true;

}

public function __destruct() {

if($this->mysqli) $this->mysqli->close();

}

}

//$db=Database::getDB();

//Print_r($db->select_where("products","id","1"));

//$db=Database::getDB();

//$db->insert_product(array("ordered","ordproducts"),array('product_id','quantity'),array('1'=>'5','1'=>'11'));

//$db->insert_product(array("ordered","ordproducts"),array("product_id","quantity"),array("1"=>")","1"=>")"));

?>

Размещено на Allbest.ru


Подобные документы

  • Разработка и написание программного обеспечения для интернет-магазина по продаже свежих овощей в режиме "online". Функциональные требования, схема данных. Главная страница сайта, корзина, регистрация пользователя. Описание классов и файлов программы.

    курсовая работа [1,2 M], добавлен 18.04.2013

  • База данных, физическая и логическая схема. Функционал сайта: главная страница, регистрация, просмотр списка и описания товаров, отправка в корзину. Выполненные заказы, статистика, панель администратора. Права доступа, пример реализации (личный кабинет).

    курсовая работа [3,3 M], добавлен 30.09.2013

  • Разработка интернет-магазина для реального заказчика. Проведение анализа и выбор интернет-технологий для разработки интернет-магазина. Проектирование предметной области. Разработка динамических web-страниц интернет-магазина, управляемых базой данных.

    дипломная работа [1,7 M], добавлен 08.06.2013

  • Инструментальные средства разработки сайта. Таблицы базы данных, их описание. Общие принципы разработки программного продукта. Структура программного продукта клиента. Страница информации о пользователе и его заказов, информационная безопасность.

    дипломная работа [3,5 M], добавлен 14.06.2012

  • Основные теги для создания сайтов. Вложенные атрибуты элемента "BODY". Вставки в документ графического изображения. Внедрение таблиц в Web страницу. Гиперссылки, изображения и формы. Страница приветствия, главная страница: палеолит, мезолит, неолит.

    практическая работа [39,2 K], добавлен 02.03.2011

  • Особенности и значение общения в сети интернет. Феномен и причины интернет-зависимости. Характеристика программ типа Windows-mesedgers. Содержание курса и интерфейс Web-сайта, его физическая структура. Описание реализации наиболее интересной странички.

    курсовая работа [82,4 K], добавлен 14.12.2010

  • Анализ сравнения интернет-магазина и электронного магазина. Проектирование структуры web-сайта. Обработка заказа. Основное понятие языка php. Средства безопасности системного уровня приложения. Разработка структуры базы данных и структуры web-сайта.

    курсовая работа [1,4 M], добавлен 31.03.2014

  • Проектирование книжного интернет-магазина для реализации книжной продукции через Интернет. Анализ и обоснование выбора языков программирования и средств разработки сайта. Затраты внедрение сайта, его программное обеспечение, тестирование и отладка.

    дипломная работа [2,1 M], добавлен 06.06.2013

  • Методика разработки и основное содержание интерактивного справочника интернет-магазина "MelodySmart" для выбора, осмотра и покупки музыкальных инструментов. Структура сайта, принципы его наполнения, функциональные особенности и оценка возможностей.

    курсовая работа [8,4 M], добавлен 16.01.2014

  • Разработка интернет-магазина мужской и женской одежды и аксессуаров. Требования к техническим характеристикам сайта (трафик, надежность, безопасность). Выбор методов сопровождения интернет-магазина. Подключение интернет-магазина к платежным системам.

    отчет по практике [2,9 M], добавлен 01.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.