个性化阅读
专注于IT技术分析

在WordPress页面中从MySQL插入和查询数据

点击下载

我正在设计一个WordPress网站, 我对设计部分进行了深入研究, 现在下一阶段是与数据库相关的事情。

1. 将数据插入数据库。
2. 查询数据并将其显示在页面中。
3. 如果我不想安装widget,我需要创建一个php页面。我需要在哪里放置代码?

我用谷歌搜索了一些插件, 然后得到了php代码小部件插件, 并以小部件的形式插入了我的页面之一

我尝试安装insert_php插件, 但无法正常工作, 因此我继续使用php_code_widget

页面->所有页面->主页->添加行->添加小部件-> Php代码小部件。

现在在我的MySQL数据库中, 我有一个名为Rituals的简单表, 该表具有三列

 Ritual ID-> Int -> Auto Increament.
 Ritual_Name-> varchar
 Ritual_Active-> varchar.

现在, 我需要将仪式名称插入数据库中, 并通过一些参考获得了此代码, 并将其放置在php代码小部件窗口中。

<?php
 require_once('../../../wp-load.php');
 function insertuser(){

 if(isset($_POST['submit']){
 global $wpdb;
 $rname=$_POST['rname'];
 $ractive=$_POST['ractive'];
 $table_name = $wpdb->prefix . "mahathiwp";
  $wpdb->insert($table_name, array ('Ritual_Name' => $rname, 'Ritual_Active' =>   $ractive) ); 
 }
 ?>
  <form action="" method="post">
  Ritual Name: <input type="text" name="rname" /><br><br>
  Ritual Active: <input type="text" name="ractive" /><br><br> 
 <input type="submit" name="submit"/>
 </form>

 <?php

 }

insertuser();
?>

没有插入数据。

你能建议一种将数据插入数据库中以及检索数据并将其显示在我的WordPress页面中的正确且快速的方法。任何帮助表示赞赏。


#1


你必须自定义主题,

添加代码以在提交表单时执行操作。

functions.php

function childtheme_style_andscripts(){
    //wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_script('ajax-function', get_stylesheet_directory_uri() . '/js/ajaxfunction.js', array('jquery'), '1.0', true );
    wp_localize_script( 'ajax-function', 'usersubmitform', array(
        'url'=> admin_url('admin-ajax.php'), 'security'=> wp_create_nonce('our-nonce')
    ) );
}

add_action('wp_enqueue_scripts', 'childtheme_style_andscripts');


function form_action_function(){
    require_once(dirname( __FILE__ ).'/../../../wp-load.php');
    $data = $_POST['data'];
    global $wpdb;
    if( !check_ajax_referer('our-nonce', 'security' ) ){

        wp_send_json_error('security failed');

        return;

    }
    //var_dump($data);
    $rname=$data['rname'];
    $ractive=$data['ractive'];

    $table_name = "rituals";
    $wpdb->insert($table_name, array ('rname' => $rname, 'ractive' => $ractive) ); 

    $wpdb->show_errors();
    $wpdb->print_error();
    echo 'From Submitted Successfully';

    die();
}
add_action('wp_ajax_nopriv_form_action_function', 'form_action_function');
add_action('wp_ajax_form_action_function', 'form_action_function');

自定义页面模板

<?php
/**
    Template Name: Form For User
 */

get_header(); ?>

<div id="main-content" class="main-content">

<?php
    if ( is_front_page() && twentyfourteen_has_featured_posts() ) {
        // Include the featured content template.
        get_template_part( 'featured-content' );
    }
?>
    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">
            <h1 class="headingform">User Form</h1>
            <div class="msg"></div>
            <form  class="userform">
                Ritual Name: <input type="text" id="rname" name="rname" /><br><br>
                Ritual Active: <input type="text" id="ractive" name="ractive" /><br><br> 
                <input  id="usersubmit"type="submit" Value="Submit" />
            </form>

        </div><!-- #content -->
    </div><!-- #primary -->
    <?php get_sidebar( 'content' ); ?>
</div><!-- #main-content -->

<?php
get_sidebar();
get_footer();

ajax-admin.js

在这里我使用ajax来说明为什么要创建此文件。将此文件放入主题js文件夹中。

jQuery(document).ready(function($){

    var submitButton = document.getElementById('usersubmit');

    var ajaxFunctionformprocess = function(fromdata, action){
        $.ajax({
            type:'post', url: usersubmitform.url, data:{
                action:action, data:fromdata, security:usersubmitform.security, }, success:function(reponse){
                $('div.msg').html(reponse);
            }, error:function(response){
                alert(response);
            }

        });



    }

    submitButton.addEventListener('click', function(event){
        event.preventDefault();
        var fromdata = {
            'rname':document.getElementById('rname').value, 'ractive':document.getElementById('ractive').value, };
        ajaxFunctionformprocess(fromdata, 'form_action_function');  

        });




});
赞(0)
未经允许不得转载:srcmini » 在WordPress页面中从MySQL插入和查询数据

评论 抢沙发

评论前必须登录!