Intereting Posts
Значение параметра функции ajax для WordPress не передается Как запретить людям видеть прикрепленное к запланированному сообщению, которое будет выпущено в будущем? Удаление постоянной ссылки с большого пальца в двадцать один Ошибка: переназначение контента другому пользователю не поддерживается на многопользовательском Белый текст на белом фоне в TinyMCE, когда wp_editor вызывается в WP 3.9 Как добавить метатег в фильтр сообщений WordPress? как отображать дочерние термины с родительскими терминами в пользовательской таксономии? Скрытие меню на мобильном телефоне только при просмотре сообщений? Я хочу отправить push-уведомление сразу после публикации нового сообщения Скрыть категорию из блога? Single Post Breadcrumb не ссылается на индекс пользовательских сообщений? Kohana Frontend, WordPress Backend Есть ли плагин WordPress, который регистрирует файл плагина в качестве настраиваемого шаблона страницы? Когда вся страница WordPress обновляется, код не читает cookie как установленный больше 'wp_get_nav_menu_items', когда он запущен внутри крюка wp_update_nav_menu, возвращает старые пункты меню вместо новых

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

Я новичок в разработке 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'; } 

Solutions Collecting From Web of "Как подсчитать количество записей, найденных в таблице базы данных?"

Почему бы вам прямо не ответить на $ 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