Новости Joomla

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

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
подскажите как получить кол-во записей в таблице sql запросом используя код

Код
$query = "sql запрос";
$db->setQuery($query);

пока вывожу кодом...

Код
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "Получено $num_rows рядов\n";

но мне кажется что так могут взломать обработчик и получить данные для подключения к MySQL...
...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Практически для каждого класса драйвера БД в Joomla есть метод getNumRows()
интернет-блог: http://websiteprog.ru
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Практически для каждого класса драйвера БД в Joomla есть метод getNumRows()

на сайте http://roket.kiev.ua/index.php?option=com_content&view=article&id=36:-joomla&catid=1:articls&Itemid=6 в последним примере описывается как получить кол-во записей но что то не получается...

Там говориться про $db->getNumRows(), но в коде его кокрас и нету... Может ошибка какая...
...
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
$db = JFactory::getDBO;
$query = "SELECT * FROM #__content";
$db->setQuery($query);
$result = $db->getNumRows();
echo $result;

$db = JFactory::getDBO;
$query = "SELECT COUNT(id) FROM #__content";
$db->setQuery($query);
$result = $db->loadResult();
echo $result;
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
чета все равно не получается не выводит ничего, а SQL запрос правельный...
...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Запрос на выборку? Если на delete , update, insert то надо юзать getAffectedRows()
интернет-блог: http://websiteprog.ru
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Запрос на выборку?

я так понял это SELEST, так я его и использую...

Код
SELECT * FROM `#__news_files_jdownloads_template` WHERE `user_id` ='".$user_id."';
...
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
чета все равно не получается не выводит ничего, а SQL запрос правельный...
Потому что ошибка в коде.
Я нашел, а вы?
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Потому что ошибка в коде.
Я нашел, а вы?

ну тогда подскажите пожалуйста где косяк ..
...
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
надо $db = JFactory::getDBO();
но такая ошибка должна дать fatal error. Если не было, есть вероятность, что этот код не выполняется вообще.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Еще кстатии некоторый методы очищают ресурс(loadObjectList(), loadAssoc() и пр.) используя freeResult() метод. Оно и понятно ведь достаточно сделать count($result) чтобы получить количество записей.

Так что в общем то имеет смысл использовать только совместно с методом execute().
« Последнее редактирование: 25.07.2014, 22:15:18 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Еще кстатии некоторый методы очищают ресурс(loadObjectList(), loadAssoc() и пр.) используя freeResult() метод. Оно и понятно ведь достаточно сделать count($result) чтобы получить количество записей.

Так что в общем то имеет смысл использовать только совместно с методом execute().

не совсем понял о чем идет речь
...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
не совсем понял о чем идет речь

Изучите исходники (\libraries\joomla\database\driver\*) на примере какого нибудь MySQL драйвера, возможно придет понимание..
интернет-блог: http://websiteprog.ru
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
как не странно у меня даже нет какой папки...
...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
ну в разных версиях они в разных папках, в двушке тут вроде \libraries\joomla\database\database
интернет-блог: http://websiteprog.ru
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
ну в разных версиях они в разных папках, в двушке тут вроде \libraries\joomla\database\database

нет там только файлы...
...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
нет там только файлы...
А что там должно быть? Это ведь исходники. Открываете mysqli.php и изучаете) Читаете каменты разработчиков. Там вас по крайней мере никто не обманет))
интернет-блог: http://websiteprog.ru
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Хоть тема и старая, пожалуй, всё таки добавлю, т.к. пришлось повозиться, пока не понял одну особенность. Вероятно, и другим это может быть полезно.

Особенность состоит в том, что $db->getNumRows(); не сработает после $db->setQuery($query);
А чтобы сработало, надо после $db->setQuery($query); добавить: $db->execute();

Итого вот так работает ОК, и кол-во строк есть и сами результаты:

Код
$db->setQuery($query);
$db->execute();
$num_rows = $db->getNumRows();
$results = $db->loadObjectList();
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка на сайте и MySQL 500

Автор Shadiw

Ответов: 8
Просмотров: 846
Последний ответ 15.03.2017, 22:39:44
от Shadiw
Получение и вывод URL

Автор Pumba_G3

Ответов: 1
Просмотров: 925
Последний ответ 13.12.2016, 15:42:47
от SmokerMan
Сдвиг картинок в таблице

Автор migor69

Ответов: 6
Просмотров: 854
Последний ответ 14.10.2016, 06:12:39
от migor69
Рухнула база MySQL

Автор bagol

Ответов: 6
Просмотров: 929
Последний ответ 01.12.2015, 00:47:04
от yunoshev
insert MySQL

Автор serrggeee

Ответов: 4
Просмотров: 815
Последний ответ 12.10.2015, 20:42:45
от Fedor Vlasenko