Отправлял как-то резюме в "Регионинфо" в поиске работы. Прислали задание сверстать шаблон для Joomla 2.5 и 2 задания на выбор по Php. Привожу здесь само задание для кандидата и его решение. Итак приступим:
Написать класс articles, состоящий из 3 методов:
1) create() Доступен только для методов класса.
Создает таблицу articles с полями
- id (идентификатор статьи)
- title (название статьи)
- text (текст статьи)
- date (дата и время добавления статьи)
Доступы к БД должны храниться в конструкторе класса.
2) add(title, text) Доступен только для методов класса. Добавляет статью в базу данных. Дата ставится текущая.
3) get(id) Доступен извне класса. Возвращает статью по id в виде массива.
Решение:
<?php class articles { // Конструктор public function __construct( $hostdb, $userdb, $passwdb, $namedb ) { // Соединяемся с MySQL сервером $mysql_connect = mysql_connect( $hostdb, $userdb, $passwdb ); // При ошибке соединения с MySQL if( !$mysql_connect ) { exit("Нет связи с MySQL сервером!"); } // Соединяемся с MySQL базой $db_connect = mysql_select_db( $namedb, $mysql_connect ); // При ошибке выбора базы if( !$db_connect ) { exit("Нет связи с БД!"); } } private function create() { $sql = "CREATE TABLE IF NOT EXISTS 'articles' ( 'id' int(11) NOT NULL AUTO_INCREMENT, 'title' varchar(255) NOT NULL, 'text' mediumtext NOT NULL, 'date' datetime NOT NULL, PRIMARY KEY ('id') ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;"; // Обращаемся к MySQL mysql_query($sql); } private function add( $title, $text ) { // Текущая дата $date = date("Y-m-d H:m:s"); $sql = "INSERT INTO 'articles' VALUES(NULL, '$title', '$text', '$date') "; // Обращаемся к MySQL mysql_query($sql); } public function get( $id ) { // Ищем в БД запись $query = mysql_query("SELECT * FROM 'articles' WHERE id='$id'"); $article = mysql_fetch_assoc( $query ); // Ну, а тут выводим echo $article['title']."<br>".$article['text']."<br>".$article['date']; } } ?>
Просмотров: 7188
← Назад
Добавить комментарий
Рубрики
-
3D и графика ( 7 )
-
Веб разработка ( 13 )
-
Железо и периферия ( 8 )
-
Портфолио и резюме ( 3 )
-
Сервер на Debian Linux ( 20 )
-
Сисадмину на заметку ( 14 )
-
Тестовая лаборатория ( 10 )
Новые записи
25.03.23 Ошибка 0x00000709 при попытке установить сетевой USB принтер
Обозначенная в заголовке ошибка возникает в нескольких ситуациях, связанных с подключением сетевого принтера или с его…
05.10.19 Добавление сертификата в exim4
18.08.18 Утилиты диагностики системы Linux
02.10.16 Отключение systemd на Debian
Комментарии
- Всё отлично! Спасибо за гайд!
03.03.24 08:01 комментирует: Luidgi Vampa - Добрый день! Спасибо вам за ваши статьи! Подскажите пожалуйста. Как проверить ус...
17.01.24 01:47 комментирует: Олег - Спасибо, проделал на ноутбуке dv5-1040er, скорость реально выросла. Делал на w10...
10.10.23 15:58 комментирует: Евгений - у мене схожа проблема як була у вас... чому ви вирішили ввести 92500000??? дякую...
11.04.23 01:51 комментирует: Володимир