Рейтинг 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'];
}
}
?>
Просмотров: 7188 Печать Назад
 
 
Рекомендуем по теме...