Показать значения столбца из базы данных - PullRequest
2 голосов
/ 08 октября 2010

Я пытаюсь отобразить все значения из определенного столбца, созданного моим плагином Wordpress (в частности, идентификаторы).Вот код, который мне удалось использовать для отображения имен столбцов, но я не могу заставить его просто отобразить все идентификаторы.Вот код:

function test() {
    global $wpdb;
    global $table_name;
    $testing = $wpdb->get_col_info('name', 0);
    foreach ($testing as $test) {
      echo $test;
    }
}

И здесь вы можете увидеть вывод:

www.matthewruddy.com / premiumslider

Может кто-нибудь помочьменя нет?

Ответы [ 2 ]

0 голосов
/ 22 июня 2015

Возможно, я немного опоздал на этот вопрос, но я думаю, что он все еще актуален для современного мира WordPress, а также для ситуации, с которой я столкнулся при создании своего собственного плагина.

Так что для всех остальных это сработало для меня.У ОП почти было это.Однако $ wpdb-> get_col_info () полагается на результаты кеша для своих результатов, поэтому сначала необходимо вызвать $ wpdb-> get_results или get_row или запрос.:)

Мне также понравилась обработка ошибок littlegreen.



    function test() {
        global $wpdb, $table_name;
        $wpdb->show_errors();
        $return = 'Listing from table: '.$table_name.'<br>';
        $results = $wpdb->get_results("SELECT * FROM ".$table_name);    
        $nameCols = $wpdb->get_col_info('name');

        if (is_array($nameCols)) {
            $return .= 'printing results:<br>';
            foreach($nameCols as $name) {
                $return .= ' '.$name;
            }
        } else {
            $return .= 'no results or error<br>'.
                'error: ' . $wpdb->print_error();
        }
        $wpdb->hide_errors();
    }


0 голосов
/ 08 октября 2010

Кажется, вам нужны данные вместо информации о столбцах.Так что вам нужно другая функция .

$testing = $wpdb->get_results("SELECT id FROM mytable")
foreach ($testing as $test) {
    echo $test->id
}

РЕДАКТИРОВАТЬ :

ОК, как насчет этой:

$wpdb->show_errors();
echo 'Listing from table: $table_name<br>';
$ids = $wpdb->get_col($wpdb->prepare("SELECT id FROM %s", $table_name));
if ($ids) {
  echo 'printing results:<br>';
  foreach($ids as $id) {
    echo $id;
  }
} else {
  echo 'no results or error<br>';
  echo 'error: ' . $wpdb->print_error();
}
$wpdb->hide_errors();

Если это не поможет вам ни получить ваши ID, ни выяснить, в чем ошибка, я потерялся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...