как делать запрос сразу в две таблицы?
LEFT JOIN, RIGHT JOIN, в нете полно подробных обьяснений и примеров
ну это смотря что им надо из таблиц выдернуть!
Но даже если в них (в таблицах) какая-то совсем не связанная информация,
то, честное слово, никто не запрещает сделать два запроса подряд
))
)))LEFT JOIN, RIGHT JOIN, в нете полно подробных обьяснений и примеров
тогда у меня такой сейчас, выводит в афише события из мапсы. вот хотелось бы теперь еще вывести события из самой афиши, которые могут добавлять пользователи.
function getCalendar() { $sql = $this->inDB->query("SELECT id,user_id as author_id, date_start as start_time,date_end as end_time,title FROM cms_map_events"); if(!$sql) { return false; } else { return $sql; } }
$sql = $this->inDB->query("SELECT * FROM cms_events");
CREATE TABLE IF NOT EXISTS `cms_events` ( `id` int(11) NOT NULL AUTO_INCREMENT, `author_id` int(11) NOT NULL, `type` varchar(128) NOT NULL, `apx` varchar(128) NOT NULL, `start_time` int(11) NOT NULL, `end_time` int(11) NOT NULL, `title` varchar(128) NOT NULL, `content` longtext NOT NULL, ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ; -- v 0.1.0 INSERT INTO cms_comment_targets (target, component, title) VALUES ('calendar', 'calendar', 'Календарь'); -- v 0.2.0 CREATE TABLE IF NOT EXISTS `cms_events_signup` ( `event_id` int(11) NOT NULL, `user_id` int(11) NOT NULL, ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;
model.php который сейчас выводит данные: instantcms.ru/users/files/download2290.html
а нужен файл, из которого к этим функциям идёт обращение. Ну frontend.php как правило :)
ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ:
Логика такая: frontend.php обращается в model.php к функциям, чтобы (в нашем случае) получить данные из БД
Получив их, он может произвести с ними любые действия а потом отправить в ???????.tpl чтобы показать результат пользователю.
Сейчас задача — получить из model.php два пакета данных, объединить их в один.
Поэтому мне и нужно "видеть" где эти данные получаются
function getEvents(){
$sql = $this->inDB->query("SELECT id, author_id, start_time, end_time, title FROM cms_events");
if(!$sql){return false;}else{return $sql;}
}
воткнуть можно хоть куда, я поставил со стр 95 — для красоты
во фронтенд, со стр 108 ( то есть ПЕРЕД if($inUser->id == 0) )
ДОБАВЛЯЕМ:
//------прицепляем вторую таблицу---------
$events = $model->getEvents($inUser->id);
while ($data = mysql_fetch_assoc($events))
{
$id = $data["id"];
$author_id = $data["author_id"];
$title = $data["title"];
$starttime = $data["start_time"];
$endtime = $data["end_time"];
$type = $data["type"];
$start_time = strtotime($starttime);
$end_time = strtotime($endtime);
$starttime = $start_time;
$endtime = $end_time;
$events_string .= "{
title: '".str_replace("'",'"',$title)."',
start: '".date("Y-m-d H:i:s", $starttime)."',
end: '".date("Y-m-d H:i:s", $endtime)."',
url: '/maps/events/".$id.".html',";
if($endtime-$starttime > 60*60*8)
{
$events_string .= "allDay: true,";
}
else
{
$events_string .= "allDay: false,";
}
$events_string .= "color: '#ffc571',\n";
$events_string .= "textColor: '#000000',\n";
$events_string .= "},
";
}
//----------------------------------------