Добрый день. Я сейчас прохожу практику и мне дали задание сделать статистику базы данных. То-есть администатор заходит на сайт и выбирает допустим: подсчитать количество зарегстриривовавшихся людей по городам в течение X периода времени. Сайт на worpdpress но мне нужно написать код на php самой. В общем сейчас я уже смогла подсоединится к базе данных через $wpdb, сделать select для большинства запросов. Осталось визуализировать данные в форме хотя бы таблицы. Пока что все работает через print_r. Вот такие данные: count(id) не показываются, визуализируется только area: Как мне правильно показать массив с данными ? Есть ли еще какие-то способы учитывая что осталось 2 дня чтобы все это срукожопить. Спасибо PHP: $ofertas_total_2=$wpdb->get_results("SELECT count(id), area FROM {$wpdb->prefix}ad_pr_ofertas WHERE fecha >= CAST('$YEAR-$MONTH-$DAY' AS DATE) AND fecha <= CAST('$YEAR_2-$MONTH_2-$DAY_2' AS DATE) group by area"); echo "<table>"; echo "<legend><strong> Nº de Ofertas de Empleo totales entre las siguentes fechas seleccionadas: ".$YEAR."/".$MONTH."/".$DAY." - ".$YEAR_2."/".$MONTH_2."/".$DAY_2." </strong> <legend>"; echo "<tr>"; if($ofertas_total_2) { echo '<ul>'; foreach($ofertas_total_2 as $details) { //echo '<li>' . $value2 . '</li>'; $count_id=$wpdb->get_results("SELECT count(id) FROM {$wpdb->prefix}ad_pr_ofertas group by area"); echo '<li>' . $details->area . '</li>'; echo '<li>' . $details->id . '</li>'; } echo '</ul>'; } echo "</tr>"; echo "</table>"; return $ofertas_total_2; }//ofertas_total_2 }// ( ! function_exists( 'ofertas_total_2' )
Так для начала разберать массив запроса олучше через while PHP: while($result= $ofertas_total_2->fetch_assoc()){ echo $result['id']; } И потом немного подумав ты сможешь все красиво организовать
Возможно ли что эта функция не подходит для wp? Fatal error: Call to a member function fetch_assoc() on array in C:\xampp\htdocs\pruebas_anna\wp-content\themes\twentyseventeen\funciones.php on line 250
Ошибка FATAl ERROR кажется очевидной. Вы получили массив данных $ofertas_total_2 из бд и пытаетесь обратиться к нему как к объекту, да еще и к несуществующему методу. [Updated] wp не причем. На чистом php все также. Вот эти две строчки у вас работают? Отображают данные? PHP: echo '<li>' . $details->area . '</li>'; echo '<li>' . $details->id . '</li>'; [Updated] В самом первом запросе сделайте ... count(`id`) as sum, ... и PHP: echo '<li>' . $details->sum . '</li>';
я понимаю что функция не для wp. Так как же все-таки визуализировать данные ? разделить разметку? у меня 3 разных файла. в одном html на другом php и в третий я вынесла функции --- Добавлено --- echo var_dump($ofertas_total_2=$wpdb->get_results("SELECT count(id), area FROM {$wpdb->prefix}ad_pr_ofertas WHERE fecha >= CAST('$YEAR-$MONTH-$DAY' AS DATE) AND fecha <= CAST('$YEAR_2-$MONTH_2-$DAY_2' AS DATE) group by area")); мне нужна функция get_results как я понимаю. с ней не визуализируется вообще, хотя var_dump показывает данные. (у меня n строчек и 2 столбца) если меняю на get_row то показывает и area и id но только одну линию а мне нужно чтобы показывал все.
спасибо, через некоторое время буду пробовать, но пока что не осилю к сожалению --- Добавлено --- А что такого то, тут все на нем работают --- Добавлено --- Виталий, все заработало после " count(`id`) as sum" Спасибо