Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 2098 Просмотров
*

megaskop

  • Осваиваюсь на форуме
  • 33
  • 3 / 6
Знающие люди, подскажите пожалуйста как правильно подключить новый дамп бд?
В версии 1.5 у меня было реализовано так: в /templates/шаблон/html/com_content/article/default.php вставлял следующий код и получал вывод инфы на сайте из нового дампа "adresa".

<?php
$poisk=$this->escape($this->article->title);
$db=mysql_connect('localhost','логин','пароль');
$ms=mysql_select_db('бд',$db);
$res=mysql_query("SELECT * FROM j26_content WHERE title='$poisk'",$db);
$dan=mysql_fetch_array($res);
$poisk=$dan[id];
$res=mysql_query("SELECT * FROM adresa WHERE cid='$poisk' ORDER BY dlina DESC LIMIT 7 ",$db);

while($dan=mysql_fetch_array($res))
 {
  if($dan[adres]!="")
   {
    echo("<h3>".$dan[title]."</h3>");
    echo("<p>".$dan[text]."</p>");
   }
  }
?>


Но в версии 2.5 этот код не работает, выдает просто пустое поле, подскажите в чем проблема? сайт http://bilinka.ru
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как подключить новый дамп бд?
« Ответ #1 : 26.06.2012, 10:05:32 »
Код: php
$db = JFactory::getDbo();
$sql = "select count(id) as artcount from #__content where catid=$item->id";
$db->setQuery($sql);
$result = $db->loadObject();
Перепишите по-аналогии. * - так лучше не выбирать, не надо зазря нагружать сервак. Берите конкретные поля через запятую.
*

megaskop

  • Осваиваюсь на форуме
  • 33
  • 3 / 6
Re: Как подключить новый дамп бд?
« Ответ #2 : 26.06.2012, 14:35:46 »
Код: php
$db = JFactory::getDbo();
$sql = "select count(id) as artcount from #__content where catid=$item->id";
$db->setQuery($sql);
$result = $db->loadObject();
Перепишите по-аналогии. * - так лучше не выбирать, не надо зазря нагружать сервак. Берите конкретные поля через запятую.


Спасибо, но я только начинаю изучать PHP, вы бы не могли написать конкретный пример?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как подключить новый дамп бд?
« Ответ #3 : 26.06.2012, 14:52:37 »
Код: php
/*Ок. Пример. Допустим, надо вывести в произвольном месте пять статей зная их id*/
$db = JFactory::getDbo(); // собсно всё, эта строка и есть ответ на поставленный вопрос. Мы подключились к БД используя API Joomla
$itemsid = [2,5,105,125,99]; //перечисляем известные id.
$sql = 'select a.id, a.title, a.introtext, a.fulltext, a.created from #__content as a where a.id in ('.$itemsid.')'; //составляем запрос
$db->setQuery($sql); //вопрошаем
$result = $db->loadObjectList(); //выводим результат в массив объектов.
var_dump ($result ); //Смотрим, что у нас получилось...
Если всё верно, то получим вроде такого:
Код
[0]
  $result->id = 2
  $result->title = "Вчера в Мусохранске спёрли статую Ленина"
  $result->introtext = "Ленин такой стоял себе, никому не мешал. Подробности под катом."
  $result->fulltext = "А его с3,14здили! Печалька."
[1]
  $result->id = 5
  $result->title = "Пойманы казлы, укравшие Ленина!"
  $result->introtext = "Ленина украли инопланетяне-сектанты. Читайте подробности экслюзивного интервью от Дарта Вейдера"
  $result->fulltext = "<p>- Володя, я твой Отец!</p><p>- Ах..еть!</p>"
[2]
...
Теперь, чтобы вывести это например списком на сайте, загоняем в цикл, т.е. повторяем вывод для каждого элемента массива. Не забываем обернуть цикл в соответствующие тэги, в моём случае это ul:
Код: php
echo '<ul>';
foreach ($result as $news) {
  echo '<li>';
  echo '<h3>'.$result->id.'</h3>';
  echo '<p>'.$result->introtext.'</p>';
  echo '</li>';
}
echo '</ul>';
Готово. Считай, за три минуты модуль написал. :)
*

megaskop

  • Осваиваюсь на форуме
  • 33
  • 3 / 6
Re: Как подключить новый дамп бд?
« Ответ #4 : 26.06.2012, 15:29:43 »
Код: php
/*Ок. Пример. Допустим, надо вывести в произвольном месте пять статей зная их id*/
$db = JFactory::getDbo(); // собсно всё, эта строка и есть ответ на поставленный вопрос. Мы подключились к БД используя API Joomla
$itemsid = [2,5,105,125,99]; //перечисляем известные id.
$sql = 'select a.id, a.title, a.introtext, a.fulltext, a.created from #__content as a where a.id in ('.$itemsid.')'; //составляем запрос
$db->setQuery($sql); //вопрошаем
$result = $db->loadObjectList(); //выводим результат в массив объектов.
var_dump ($result ); //Смотрим, что у нас получилось...
Если всё верно, то получим вроде такого:
Код
[0]
  $result->id = 2
  $result->title = "Вчера в Мусохранске спёрли статую Ленина"
  $result->introtext = "Ленин такой стоял себе, никому не мешал. Подробности под катом."
  $result->fulltext = "А его с3,14здили! Печалька."
[1]
  $result->id = 5
  $result->title = "Пойманы казлы, укравшие Ленина!"
  $result->introtext = "Ленина украли инопланетяне-сектанты. Читайте подробности экслюзивного интервью от Дарта Вейдера"
  $result->fulltext = "<p>- Володя, я твой Отец!</p><p>- Ах..еть!</p>"
[2]
...
Теперь, чтобы вывести это например списком на сайте, загоняем в цикл, т.е. повторяем вывод для каждого элемента массива. Не забываем обернуть цикл в соответствующие тэги, в моём случае это ul:
Код: php
echo '<ul>';
foreach ($result as $news) {
  echo '<li>';
  echo '<h3>'.$result->id.'</h3>';
  echo '<p>'.$result->introtext.'</p>';
  echo '</li>';
}
echo '</ul>';
Готово. Считай, за три минуты модуль написал. :)



Круто! вот только я не пойму про id, я раньше никаких id  не прописывал. выкладываю дамп "adresa" если поможете разобраться буду вам очень благодарен!
http://bilinka.ru/adresa.zip
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как подключить новый дамп бд?
« Ответ #5 : 26.06.2012, 15:36:14 »
Не, так не получится. Сперва надо этот дамп восстановить в БД, потом перенести необходимые таблицы/поля в ваш сайт. Можно просто посредством phpMyAdmin или аналогичной программы.
*

megaskop

  • Осваиваюсь на форуме
  • 33
  • 3 / 6
Re: Как подключить новый дамп бд?
« Ответ #6 : 26.06.2012, 17:43:34 »
Не, так не получится. Сперва надо этот дамп восстановить в БД, потом перенести необходимые таблицы/поля в ваш сайт. Можно просто посредством phpMyAdmin или аналогичной программы.

Дык он у меня в базе и находится, в нем находится по 10 записей для каждого материала, предыдущий PHP код цеплял от туда 7 из 10 записей с наибольшим кол-вом символов в тексте и выводил табличку для каждой странице свою. пример можно посмотреть тут http://канарейки-попугаи.рф/певчий-попугай
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как подключить новый дамп бд?
« Ответ #7 : 26.06.2012, 18:29:13 »
Смотрите, если он находится в той же базе, что и Joomla, то всё просто, делаете по рецепту выше. Естественно, таблицы должны иметь тот же префекс, для того, чтобы обращаться к ним так #__anytable, а не qwertyu_anytable. Просто заливаете таблицы, если они в другой БД, в вашу, меняете префекс. Профит.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Неполучается подключить базу данных MySQL

Автор NESMEYAKA

Ответов: 1
Просмотров: 919
Последний ответ 20.03.2014, 12:42:17
от darkghost
Как подключить php поиск к Joomla 2.5?

Автор webch

Ответов: 3
Просмотров: 1418
Последний ответ 29.01.2014, 15:52:40
от Shustry
Как подключить базу данных ms sql к Joomla?

Автор kapbl4

Ответов: 4
Просмотров: 6381
Последний ответ 15.01.2014, 14:30:01
от lunalb
Как создать новый сайт на базе старого?

Автор vovaxa44

Ответов: 1
Просмотров: 904
Последний ответ 11.12.2013, 14:27:21
от borro
[FAQ] Как подключить reCaptcha к входу в админ. панель

Автор Tuzemec

Ответов: 16
Просмотров: 3151
Последний ответ 06.11.2013, 07:55:28
от VDenis