Рейтинг 4.5 из 5 (11 Голосов)

Тестовое задание PHP

Отправлял как-то резюме в "Регионинфо" в поиске работы. Прислали задание сверстать шаблон для 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'];
        }
    }
?>
Просмотров: 7343 Печать Назад
 
 
Рекомендуем по теме...