Отправлял как-то резюме в "Регионинфо" в поиске работы. Прислали задание сверстать шаблон для 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']; } } ?>
Просмотров: 6575
← Назад
Добавить комментарий
Рубрики
-
3D и графика ( 7 )
-
Веб разработка ( 12 )
-
Железо и периферия ( 8 )
-
Портфолио и резюме ( 3 )
-
Сервер на Debian Linux ( 20 )
-
Сисадмину на заметку ( 13 )
-
Тестовая лаборатория ( 9 )
Новые записи
05.10.19 Добавление сертификата в exim4
Такое собщение появляется при попытке перезагрузить MTA exim [....] Stopping MTA for restart: exim4_listener2019-10-05 13:48:58…
02.10.16 Отключение systemd на Debian
Комментарии
- Спасибо. Хрен-то там я бы сам смог педальки встроить в цепь войсмитера.
15.08.22 11:19 комментирует: Блабла - Супер реально работает. ноут Acer 8935G с 20 спидуха поднялась в тестах до 84 Мб...
15.08.22 11:19 комментирует: Андрей - Спасибо огромное, я день смотрел видосы что бы подать запись в редактор. Сдесь з...
15.08.22 11:19 комментирует: busman - Нашел у мастеров модуль ABG, вставил в ноут DELL Latitude E5440, перепрошил за п...
15.08.22 11:19 комментирует: Alex