Intereting Posts
Изменить допустимые теги HTML для комментариев Как добавить кнопки в пользовательский столбец в таблице таксономии? Как я могу получить идентификаторы категорий, если с помощью URI запрашивается несколько категорий? Как перечислить все записи из одной пользовательской таксономии, начинающейся только с одной буквы, т.е. A Клонирование метабокса через проблему с вызовом администратора Ajax Всякий раз, когда я пытаюсь опубликовать сообщение в wordpress, я всегда перенаправляюсь на страницу установки … почему? Использование переменной в get_template_part Использовать константы темы в плагине? Категории ссылок, включая все сообщения Проблема перемещения моего сайта LivePress на локальный хост jQuery Plugin Uncaught TypeError: jQuery (…) .slider не является функцией Как устранить проблему, почему TinyMCE не загружает пользовательские плагины в визуальный редактор? Функция cforms plugin «my_cforms_logic» (для написания пользовательской логики) работает 5 раз Автоматическое добавление фильтра на идентификатор страницы Построение оператора if if с помощью is_category (); в archive.php

Как подсчитать количество записей, найденных в таблице базы данных?

Я новичок в разработке WordPress и пытался изучить плагин development.I создал пользовательскую таблицу, из которой я хочу показать количество найденных записей.Я пробовал код ниже, но он всегда показывает 1 в результате, независимо от количества строк в таблице.

//To show number of rows in table function DB_Tables_Rows() { global $wpdb; $table_name = $wpdb->prefix . 'mydata'; $count_query = "select count(*) from $table_name"; $num = $wpdb->get_var($count_query); $num = $wpdb->num_rows; echo $wpdb->num_rows . 'Rows Found'; } 

Почему бы вам прямо не ответить на $ num, поскольку он будет содержать количество строк уже … Вот отредактированная часть.

 //To show number of rows in table function DB_Tables_Rows() { global $wpdb; $table_name = $wpdb->prefix . 'mydata'; $count_query = "select count(*) from $table_name"; $num = $wpdb->get_var($count_query); echo $num . 'Rows Found'; } 

ПУТЬ № 1

Вы можете использовать способ WordPress с $wpdb класса $wpdb :

 <?php global $wpdb; $table_name = $wpdb->prefix . 'mydata'; $my_query = $wpdb->get_results( "SELECT * FROM $table_name" ); echo $wpdb->num_rows; 

Кодекс говорит:

Поскольку эта функция использует функцию $wpdb->query() все переменные класса правильно установлены. Количество результатов для запроса « SELECT » будет храниться в $wpdb->num_rows .

ПУТЬ № 2

Его также можно считать методом PHP. Просто используйте общий запрос и используйте функцию count() .

 <?php global $wpdb; $table_name = $wpdb->prefix . 'mydata'; $my_query = $wpdb->get_results( "SELECT * FROM $table_name" ); $num_rows = count( $my_query ); //PHP count() echo $num_rows; 

Ссылка: http://php.net/manual/en/function.count.php

Хотя это мой любимый, но, как @MarkKaplun говорит:

существует огромная разница в производительности между подсчетом размера массива в PHP и дачей mysql подсчета строк для вас. Вы вряд ли заметите это на небольших данных, но для больших таблиц вы это сделаете.

Поэтому я также хотел бы придерживаться способа $wpdb . <3