Программирование - это просто
Advertisement
Главная arrow Web-программирование arrow Углубленное изучение PHP. Пишем Easy CMS (пл. р.) arrow Пишем EASY CMS: Расширяем функционал для работы с БД (MySQL, PHP, база данных, таблица).
19.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Пишем EASY CMS: Расширяем функционал для работы с БД (MySQL, PHP, база данных, таблица). Печать E-mail
Автор megabax   
10.08.2010 г.
Структура программы на примере простейшей программы

Пишем EASY CMS: Расширяем функционал для работы с БД (MySQL, PHP, база данных, таблица).

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Сегодня мы расширим функционал классов для работы с базой данных. А именно:

  • Введем префикс.  Это нужно для того, что бы на одной базе MySQL создать несколько виртуальных баз. Зачем это нужно? Дело  в том, что многие хостинг-провайдеры в своих тарифных планах ограничивают количество доступных баз, а дополнительные предоставляют за отдельную плату.  Поэтому и возникла идея ввести виртуальные базы путем прибавления к именам таблиц префикса. Такая схема реализована, например у CMS Joomla.

  • Автоинкремент. На прошлом уроке мы сами назначали значение в поле код, которое у нас, по идее, должно быть уникально. Для чего это надо? Что бы можно было однозначно найти элемент таблицы или связать его с элементом другой таблицы (например, товар, продаваемый в интернет магазине) по его идентификационному коду. Вот мы и сделаем это поле с автонумерацией.

  • Класс для вывода таблицы на экран. Это уж точно надо, тут комментарии излишни. Лучше пусть выводом занимается объект, чем программировать это "ручками".

В связи с введением преффикса нам придется переделать почти весь класс ECMS_Database...

...

... Протестируем нашу библиотеку в тестовом примере:

<html>

 

<head>

  <title>Тест EASY CMS</title>

  <LINK HREF="ECMS.css" REL="stylesheet" TYPE="text/css">

</head>

 

<body>

 

<?php

      include_once("EASYCMSBase.php");

      include_once("EASYCMSDB.php");

      include_once("EASYCMSVisual.php");

      init_ECMS();

 

      //создадим базу данных и законнектимся к ней

      $db=new ECMS_Database("test","localhost","root","123");

      $db->set_prefix("P");

      $db->connect();

 

      //попробуем создать таблицу

      $tb=new ECMS_Table("wares", $db);

      $tb->fields[]=new ECMS_Field("id","код","int",true);

      $tb->fields[]=new ECMS_Field("name","наименование","text",false);

      $tb->fields[]=new ECMS_Field("price","цена","real",false);

      $tb->create();

 

      //добавим в таблицу парочку строк

      $a=array();

      $a["name"]="Мясо говядина, кг";

      $a["price"]=100;

      $tb->add_record($a);

 

      $a=array();

      $a["name"]="Мясо свинина, кг";

      $a["price"]=102;

      $tb->add_record($a);

 

      $tv=new ECMS_Table_viewer();

      $tv->table=$tb;

      $tv->copy_fields_to_columns();

 

      //запрос к таблице

      $tb->select_rows();

 

      //выведем заголовок таблицы

      echo "<b>В таблице</b><br> ";

      echo "<table border=2><tr>";

      echo $tv->show_header(true);

      echo "</tr>";

 

      //выведем строки таблицы

      $cn=$tb->get_rows_count()-1;

      for($i=0; $i<=$cn; $i++) {

            echo "<tr>";

            echo $tv->show_row(true);

            echo "</tr>";

      }

 

      //закончим таблицу

      echo "</table>";

 

     //вывод без таблицы

      $tb->select_rows();

      echo "<br><b>Без таблицы</b><br> ";

      echo $tv->show_header(false)."<br>";

 

      //выведем строки таблицы

      $cn=$tb->get_rows_count()-1;

      for($i=0; $i<=$cn; $i++) {

            echo $tv->show_row(false)."<br>";

      }

?>

 

</body>

 

</html>

 

И вот что он нам выдаст:

 

Пишем EASY CMS: Расширяем функционал для работы с БД (MySQL, PHP, база данных, таблица).

 

При помощи phpmyadmin убедимся, что база создалась с префиксом:

Пишем EASY CMS: Расширяем функционал для работы с БД (MySQL, PHP, база данных, таблица).

 

 

Последнее обновление ( 04.01.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги