Результаты запроса к базе данных Wordpress не отображаются - PullRequest
0 голосов
/ 10 апреля 2020

Итак, я создаю плагин Wordpress, который при активации создает новую таблицу в базе данных, а затем сохраняет записи из формы в эту таблицу.

Отправка формы работает отлично, и записи успешно сохраняется в таблице.

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

Похоже, что запрос для извлечения данных из таблицы работает, но «foreach» l oop не заполняет раскрывающийся список.

Вот скриншот таблицы содержание: enter image description here

А вот код для шорткода:

function cpe_history_select(){
  $current_user = wp_get_current_user();
  $user_id = $current_user->ID;
  global $wpdb;
  $history_tbl = $wpdb->prefix . "cpe_history";
  $history_query = "SELECT id,submitDate FROM $history_tbl WHERE userID=$user_id ORDER BY submitDate DESC";
  $cpe_history = $wpdb->get_results ( $history_query );
  if(!empty($cpe_history)){
    $output = '<form action="" method="post">';
    $output .= '<select id="cpe_history" name="cpe_history">';
      $output .= '<option value="">Select</option>';
      foreach($cpe_history as $cpe_entry){
        $entry_id = $cpe_entry->id;
        $entry_date = $cpe_entry->submitDate;
        $ouput .= '<option value="' . $entry_id . '">' . $entry_date . '</option>';
      }
    $output .= '</select>';
    $output .= '</form>';
  }
  return $output;
}
add_shortcode('cpe-history','cpe_history_select');

Итак, как вы видите, я пытаюсь получить только " поля "id" и "submitDate" из таблицы, и в раскрывающемся списке отображается список "Отправить даты" в качестве параметров, а в качестве значения параметра указывается "ID" записи. Я вошел в систему как пользователь с user_id = '1', поэтому определенно есть записи для отображения, но я получаю только начальную опцию "Выбрать" и больше ничего.

http://sandbox.graphicdetail.co.nz/cpe-test/

Где я ошибся?

PS - Странно то, что я создал плагины перед тем, как делать похожие запросы и циклически просматривать результаты, и раньше у меня не было подобных проблем. , : - /

1 Ответ

0 голосов
/ 10 апреля 2020

OMG! Я нашел проблему, и я не могу поверить, что это было так просто и очевидно! Это была простая опечатка!

В строке:

$ouput .= '<option value="' . $entry_id . '">' . $entry_date . '</option>';

Я просто оставил первое "t" из "$ output"! ДУХ!

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