php - 如何在wordpress中自动更新显示数据集?
问题描述
嘿伙计们,
我正在使用 php 函数“getData()”从数据库中显示我的数据。它运作良好。当我提交表单“add_action('elementor_pro/forms/new_record',function($record,$ajax_handler)”时,我有另一个将数据插入数据库的函数。也可以。
问题是当我在表单中插入新数据时,显示的数据不会自动更新。
我试图将 getData 函数放在插入数据函数的末尾:
//Get Data from Database
function getData(){
global $wpdb;
$result = $wpdb->get_results( "SELECT id, first_name, last_name, email FROM demo_table");
echo "<style>";
echo "body {font-family: Arial;}";
echo ".table_container { padding: 10px 12px 0px 12px; border: 1px solid #ccc; }";
echo ".table_container th { background-color:lightblue; color:black; font-weight:bold; border-left: 1px solid white;}";
echo "</style></head>";
echo "<body>";
echo "<div class=\"table_container\"><table>";
echo "<tr><th style=\"padding-left:10px;\">ID</th><th>Name</th><th>Email</th></tr>";
foreach ($result as $row) {
echo "<tr><td>" . $row->id . "</td><td>" . $row->first_name . " " .$row->last_name . "</td><td>" . $row->email . "</tr>";
}
echo "</table></div>";
}
//Insert data in database
add_action( 'elementor_pro/forms/new_record', function( $record, $ajax_handler ) {
$form_name = $record->get_form_settings( ‘form_name’ );
if ( 'demo' !== $form_name ) {
}
$raw_fields = $record->get( 'fields' );
$fields = [];
foreach ( $raw_fields as $id => $field ) {
$fields[ $id ] = $field['value'];
}
global $wpdb;
$output['success'] = $wpdb->insert('demo_table', array( 'first_name' => $fields['first_name'], 'email' => $fields['email'], 'last_name' => $fields['last_name']));
$ajax_handler->add_response_data( true, $output );
getData();
}, 10, 2);
解决方案
推荐阅读
- android - firebase_messaging W/FirebaseMessaging(11255):AndroidManifest 中缺少默认通知通道元数据。将使用默认值
- d3.js - D3 Choropleth - 确定纬度/经度点当前是否在地图视图中
- excel - 在第一行而不是最后一行附加到 VBA 日志文件
- batch-file - PDFTK 右键加密
- java - 如何在 Windows 上禁用 Java 未捕获的 C++ 异常报告?
- nativescript - 如何在 NativeScript 中用三位有效数字格式化百分比数字?
- swift - Carplay 应用程序未在 iOS 13 模拟器上显示
- bash - Bash:base64 将文件解码 x 次
- strapi - Strapi 3 Beta.17.5 没有在 mysql 数据库中创建任何表
- maven - 使用 Maven 在詹金斯上使用相同版本的多项目