Интернет-магазин
Постановка задач и функционал сайта, его внешняя структура. Главная страница интернет-магазина. Классы для работы с таблицами. Основное назначение диаграммы прецедентов. Модель сущность - связь. Главная страница админпанели, руководство пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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