Newn
@Newn

Как вывести через цикл данные из wpdb с помощью shortcode?

Добрый день народ. Создаю шорт код в wordpress.

function get_b_cf7_func() {
	 global $wpdb;
	 $table_name = $wpdb->prefix . 'sell';
	 $user = wp_get_current_user()->user_login;
	 $query = $wpdb->get_row("SELECT * FROM ".$table_name." WHERE user_name='".$user."'");
		return  $res_;

Задача в том, чтобы. она выводила все данные залогиненного пользователя из таблицы базы данных. в html. Пример написал ниже. Т.е. если у него много записей. Она будет выводить инфу по каждому столбцу начиная с новой строки при помощи цикла. Прочитал несколько статей на данном сайте. Но не смог разобраться. Спасибо!

<div class='img_out_f'>
<div class='content'>
<div class='tbl'>Столбец 1</br></br>
				<div class='tbl'>строка 1</div>
				<div class='tbl'>строка 2</div>
</div>
<div class='tbl'>Столбец 2</br></br>
				<div class='tbl'>строка 1</div>
</div>
<div class='tbl'>Столбец 3</br></br>
				<div class='tbl'>строка 1</div>
</div>
<div class='tbl'>Столбец 4</br></br>
				<div class='tbl'>строка1</div>
</div>
<div class='tbl'>Столбец 5</br></br>
				<div class='tbl'>строка 1</div>
</div>
</div>
</div>
  • Вопрос задан
  • 725 просмотров
Решения вопроса 1
Newn
@Newn Автор вопроса
Вот решение моего вопроса

function get_b_cf7_func() {
	 global $wpdb;
	 $table_name = $wpdb->prefix . 'sell';
	 $user = wp_get_current_user()->user_login;
	 $query = $wpdb->get_results("SELECT * FROM ".$table_name." WHERE user_name='".$user."'");
		$include_var = '';
	foreach ($query as $q ):
		$include_var .= "<tr><td>".$q->coin."</td><td>".$q->bank."</td><td>".$q->cours."</td></tr>";
		$str = "<table class='table'<thead><tr><th> Title </th><th>Content</th><th>Date</th></tr></thead><tbody>".$include_var."</tbody></table>";
    
endforeach;
	
	$str_ = $str;

		return  $str_;  
		
} 
		
add_shortcode('get_b', 'get_b_cf7_func');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
leni_m
@leni_m
ЧупаКобрус
например, если у вас данные получены в таком виде $arr[$i]['столбец_1'], $arr[$i]['столбец_2'], ....
где $i соответствует строкам в базе, то как-то так:
<table>
<?php foreach($arr as $el): ?>
<tr>
   <td><?php echo $el['столбец_1']; ?></td>
   <td><?php echo $el['столбец_2']; ?></td>
   ....
</tr>
<?php endforeach; ?>
</table>

Но я не ясновидящий, чтобы силой мыслей узнать, в какой форме у вас лежат ваши данные в ваших переменных. Да и что вы хотите получить тоже не понятно. Почему в первом столбце 2 строки, а в остальных по одной? И почему вы используете дивы, если есть готовый тег <table>, специально для такого вывода данных.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы