Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RFpro.ru: Программирование на PHP


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 10421
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3942
∙ повысить рейтинг »
vladisslav
Статус: Практикант
Рейтинг: 1353
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / PHP

Номер выпуска:1249
Дата выхода:02.05.2012, 18:00
Администратор рассылки:Устинов С.Е. (Профессионал)
Подписчиков / экспертов:138 / 80
Вопросов / ответов:1 / 1

Консультация # 185924: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: имеется файл PHP

Код :
<?php
 defined('_JEXEC') or die('Restricted access');
	
class Tablejob extends JTable {
	var $id 			 = null;
	var
...

Консультация # 185924:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

имеется файл PHP

Код :
<?php
 defined('_JEXEC') or die('Restricted access');
	
class Tablejob extends JTable {
	var $id 			 = null;
	var $job_title		 = null;
	var $employer_id 	 = null;
	var $id_degree_level = null;
	var $id_pos_type 	 = null;
	var $id_salary_type  = null;
	var $id_job_exp 	 = null;
	var $id_job_spec 	 = null;
	var $salary 		 = null;
	var $currency_salary = null;
	var $id_country		 = null;
	var $state			 = null;
	var $city			 = null;
	var $short_desc		 = null;
	var $long_desc		 = null;
	var $publish_date	 = null;
	var $expire_date	 = null;
	var $is_active		 = null;
	var $is_featured	 = null;
	var $glng			 = null;
	var $glat			 = null;
	var $gzoom			 = null;
	var $address_geocode = null;
	var $hotjob_expire 	 = null;
	var $manage_applicant= null;
	var $ext_apply_url   = null;
	
	/**
	* @param database A database connector object
	*/
	function __construct(&$db){
		parent::__construct('#__jbjobs_job', 'id', $db);
	}
}
?>

он ли прописывает значение в таблицу
Код :
--
-- Структура таблицы `jos_jbjobs_job`
--

CREATE TABLE IF NOT EXISTS `jos_jbjobs_job` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job_title` varchar(100) NOT NULL DEFAULT '',
  `employer_id` int(11) DEFAULT NULL,
  `id_degree_level` int(11) NOT NULL DEFAULT '0',
  `id_pos_type` int(11) NOT NULL DEFAULT '0',
  `id_salary_type` int(11) NOT NULL DEFAULT '0',
  `id_job_exp` int(11) NOT NULL DEFAULT '0',
  `id_job_spec` int(11) NOT NULL DEFAULT '0',
  `salary` float DEFAULT NULL,
  `currency_salary` char(10) DEFAULT NULL,
  `id_country` int(11) NOT NULL DEFAULT '0',
  `state` varchar(100) NOT NULL DEFAULT '',
  `city` varchar(100) NOT NULL DEFAULT '',
  `short_desc` tinytext,
  `long_desc` mediumtext,
  `publish_date` datetime DEFAULT '0000-00-00 00:00:00',
  `expire_date` datetime DEFAULT '0000-00-00 00:00:00',
  `is_active` char(1) NOT NULL DEFAULT 'y',
  `is_featured` tinyint(1) NOT NULL DEFAULT '0',
  `hits` int(11) NOT NULL DEFAULT '0',
  `glng` varchar(15) DEFAULT NULL,
  `glat` varchar(15) DEFAULT NULL,
  `gzoom` varchar(2) DEFAULT NULL,
  `address_geocode` varchar(250) DEFAULT NULL,
  `hotjob_expire` datetime DEFAULT '0000-00-00 00:00:00',
  `manage_applicant` tinyint(1) NOT NULL DEFAULT '0',
  `ext_apply_url` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;


что в него же добавить чтобы он прописывал еще значения и в другую таблицу
Код :
CREATE TABLE IF NOT EXISTS `jos_zhyandexmaps_markers` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `catid` int(11) NOT NULL DEFAULT '0',
  `title` varchar(250) NOT NULL DEFAULT '',
  `latitude` varchar(20) NOT NULL DEFAULT '',
  `longitude` varchar(20) NOT NULL DEFAULT '',
  `mapid` int(11) NOT NULL DEFAULT '0',
  `openbaloon` tinyint(1) NOT NULL DEFAULT '0',
  `icontype` varchar(50) NOT NULL DEFAULT '',
  `description` text NOT NULL,
  `descriptionhtml` text NOT NULL,
  `hrefsite` text NOT NULL,
  `hrefimage` text NOT NULL,
  `hrefsitename` text NOT NULL,
  `markergroup` int(11) NOT NULL DEFAULT '0',
  `showiconcontent` tinyint(1) NOT NULL DEFAULT '0',
  `published` tinyint(1) NOT NULL DEFAULT '0',
  `createdbyuser` int(11) NOT NULL DEFAULT '0',
  `markercontent` tinyint(1) NOT NULL DEFAULT '0',
  `userprotection` tinyint(1) NOT NULL DEFAULT '0',
  `contactid` int(11) NOT NULL DEFAULT '0',
  `iconofsetx` tinyint(1) NOT NULL DEFAULT '0',
  `iconofsety` tinyint(1) NOT NULL DEFAULT '0',
  `showcontact` tinyint(1) NOT NULL DEFAULT '0',
  `showuser` tinyint(1) NOT NULL DEFAULT '0',
  `publish_up` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `publish_down` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `actionbyclick` tinyint(1) NOT NULL DEFAULT '1',
  `zoombyclick` int(3) NOT NULL DEFAULT '100',
  `params` text NOT NULL,
  `attribute1` text NOT NULL,
  `attribute2` text NOT NULL,
  `attribute3` text NOT NULL,
  `attribute4` text NOT NULL,
  `attribute5` text NOT NULL,
  `attribute6` text NOT NULL,
  `attribute7` text NOT NULL,
  `attribute8` text NOT NULL,
  `attribute9` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;


`id` -`id`
`catid` - по умолчанию 18
`job_title` - `title`

примерно так, но чтобы дополнительно добавлял в таблицу #__zhyandexmaps_markers
или этот файл не отвечает за это действие
есть другие

Дата отправки: 29.04.2012, 17:44
Вопрос задал: Чумак Дмитрий Иванович (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Коцюрбенко Алексей aka Жерар (Академик):

Здравствуйте, Чумак Дмитрий Иванович!

В Joomla для работы с базами данных используется абстрактный класс JTable, содержащий все необходимые функции. При этом для каждой таблицы нужно создать новый подкласс, который должен быть расположен в отдельном файле в каталоге tables (в административной части компонента). Имя подкласса должно начинаться с Table. Глобальные свойства подкласса должны соответствовать полям таблицы и иметь такие же названия.

В данном случае файл (называющийся, скорее всего, job.php или jbjobs_job.php) содержит только описание подкласса Tablejob для работы с таблицей jos_jbjobs_job. Заполнение таблицы (и вообще любые операции с ней) будет в другом месте. Чтобы работать с таблицей jos_zhyandexmaps_markers, нужно создать в том же подкаталоге файл jos_zhyandexmaps_markers.php примерно следующего содержания:

Код (PHP):
<?php
 defined('_JEXEC') or die('Restricted access');
   
class TableMarkers extends JTable {
   var $id                    = null;
   var $catid               = null;
   var $title                 = null;
   var $latitude           = null;
   var $longitude        = null;
   var $mapid             = null;
   var $openbaloon    = null;
   var $icontype          = null;
   var $description      = null;
   var $descriptionhtml= null;
   var $hrefsite           = null;
   var $hrefimage       = null;
   var $hrefsitename  = null;
   var $markergroup   = null;
   var $showiconcontent= null;
   var $published        = null;
   var $createdbyuser = null;
   var $markercontent = null;
   var $userprotection = null;
   var $contactid          = null;
   var $iconofsetx        = null;
   var $iconofsety        = null;
   var $showcontact    = null;
   var $showuser         = null;
   var $publish_up       = null;
   var $publish_down  = null;
   var $actionbyclick     = null;
   var $zoombyclick      = null;
   var $params             = null;
   var $attribute1         = null;
   var $attribute2         = null;
   var $attribute3         = null;
   var $attribute4         = null;
   var $attribute5         = null;
   var $attribute6         = null;
   var $attribute7         = null;
   var $attribute8         = null;
   var $attribute9         = null;

   /**
   * @param database A database connector object
   */
   function __construct(&$db){
      parent::__construct('#__zhyandexmaps_markers', 'id', $db);
   }
}
?>


Для дальнейшей работы с таблицей нужно создать соответствующий объект. Это делается так:

Код (PHP):
JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables');
$table = JTable::getInstance('Markers', 'Table');


Для выполнения операций с таблицей нужно будет вызывать соответствующие методы для объекта $table. Например, добавление новой записи в таблицу будет выглядеть примерно так:

Код (PHP):
$table->reset();
$table->set('catid', 18);
$table->set('title', "Title");
$table->save();


Для полей, чьи значения не заданы функцией set, будет установлено значение по умолчанию (то, которое указано в опции DEFAULT для соответствующего поля команды CREATE).

Консультировал: Коцюрбенко Алексей aka Жерар (Академик)
Дата отправки: 30.04.2012, 17:41
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное