WordPress Ninja Forms просмотреть представленные данные

Я использую плагин NinjaForm на своем сайте WordPress, который работает хорошо, но мы стремимся создать пользовательскую страницу .php для вывода некоторых из представленных данных.

Наш текущий файл

<?php
$username = "SQLuser";
$password = "SQLpass";
$host = "localhost";
$connector = mysql_connect($host, $username, $password)
or die("Unable to connect");
$selected = mysql_select_db("wordpress", $connector)
or die("Unable to connect");
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Report</title>
</head>
<body>
<!--right-->
<?php
//execute the SQL query and return records
$result = mysql_query("SELECT * FROM wp_postmeta WHERE Meta_Key LIKE '%field%'");
?>
<table>
<thead>

</thead>
<tbody>
<?php
while ($row = mysql_fetch_assoc($result)) {
echo
"<tr>
<td>{$row['post_id']}</td>
<td>{$row['meta_key']}</td>
<td>{$row['meta_value']}</td>
</tr>";
}
?>
</tbody>
</table></body>
</html>
<?php mysql_close($connector); ?>

В основном убит из Вывести данные из mysql / phpmyadmin на HTML-страницу но это отображает данные в одном длинном списке, как это Скриншот

Наша цель — собрать эти данные в таблицу с заголовками для каждого поля.

например   

_field_5 = Имя,  

_field_8 = Еда,  

_field_6 = Может присутствовать

 

Формат БД такой образ, поэтому данные не хранятся в отдельных столбцах, поэтому мы надеемся, что мы сможем изменить это с помощью php.

Любой совет?

1

Решение

Итак, сначала пара вещей, которые нужно отметить, относящихся к лучшей / самой безопасной практике в WP.

  1. Не создавайте «пользовательские» страницы. Создайте собственный шаблон и добавьте к нему свой php. Теперь создайте страницу в WP и назначьте ей соответствующий шаблон страницы. Таким образом, вы можете правильно использовать WordPress.
  2. Использовать WP функции для запросов к базе данных вместо того, чтобы запрашивать БД напрямую через PHP

    <?php
    
    $querystr = "SELECT * FROM wp_postmeta WHERE Meta_Key LIKE '%field%";
    
    $output = $wpdb->get_results($querystr, OBJECT);
    
    ?>
    

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

<table>
<thead>

</thead>
<tbody>
<?php
if($output){
foreach ($output as $row){
echo
"<tr>
<td>{$row['post_id']}</td>
<td>{$row['meta_key']}</td>
<td>{$row['meta_value']}</td>
</tr>";
}
}
?>
</tbody>
</table>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]