Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在wordpress数据库中添加带有数据的自定义行_Php_Wordpress - Fatal编程技术网

Php 在wordpress数据库中添加带有数据的自定义行

Php 在wordpress数据库中添加带有数据的自定义行,php,wordpress,Php,Wordpress,我无法在WordPress数据库的wp_usermeta中添加新行。 我的插件中有这段代码,我访问数据库并尝试将数据存储在管理仪表板的表单中。 我有以下代码: function kpam_application_management_Users() { global $wpdb; $results = $wpdb->get_results("SELECT * FROM wp_users"); echo ' <h2>Applicants</

我无法在WordPress数据库的wp_usermeta中添加新行。 我的插件中有这段代码,我访问数据库并尝试将数据存储在管理仪表板的表单中。 我有以下代码:

function kpam_application_management_Users()
{
        global $wpdb;
    $results = $wpdb->get_results("SELECT * FROM wp_users");
    echo '

<h2>Applicants</h2>
<table style="margin-left:10px;margin-top:10px;">
  <tr>
  <th>ID</th>
    <th>Username</th>
    <th>Email</th>
    <th>Progress</th>

  </tr>';
    foreach( $results as $user_data) {
        echo "<tr>
    <td>$user_data->ID</td>
    <td>$user_data->user_nicename</td>
    <td>$user_data->user_email</td>
    <form method=POST action=>
    <td><input type=number name=progressz>
<button id=btnConfirm type=submit name=button >Update</button>
    </td>
    </form>

  </tr>";
}
    echo '</table> <br><br>';

if ( isset( $_POST['button'] ) ){
         global $wpdb;
         $tablename = $wpdb->prefix.'usermeta';

        $wpdb->insert( $tablename, array(
            'user_id' => 1,
            'meta_key' => 'progress',
            'meta_value' => $_POST['progressz']), 

            array( '%s','%s','%s') 

       );


    }
}
功能kpam\u应用程序\u管理\u用户()
{
全球$wpdb;
$results=$wpdb->get_results(“选择*来自wp_用户”);
回声'
申请人
身份证件
用户名
电子邮件
进展
';
foreach($user\u数据形式的结果){
回声“
$user\u data->ID
$user\u data->user\u name
$user\u data->user\u电子邮件
更新
";
}
回音“

”; 如果(isset($_POST['button'])){ 全球$wpdb; $tablename=$wpdb->prefix'usermeta'; $wpdb->insert($tablename,array)( “用户id”=>1, “meta_key”=>“progress”, “meta_值”=>$u POST['progressz']), 数组('%s','%s','%s')) ); } }
有几件事:

首先,为什么要为此运行
$wpdb
查询,而不是使用WordPress的帮助函数(如或类)和函数来存储提交的信息

其次,您应该确保您的代码以标准语法正确格式化,以便更容易更新和维护(而不是像那样重复巨大的HTML块)-未来谢谢

第三,您是否正在运行
if(isset($\u POST['button']){
代码?您可能应该将它挂在某个地方,并使用其中一个函数,而不是依赖任意一个通常命名的按钮

也就是说,我已经对它进行了一些清理,并使用了helper函数,但类似这样的功能应该可以让您更接近您所要查找的内容:

function kpam_application_management_users(){ ?>
    <h2>Applicants</h2>
    <table style="margin-left:10px;margin-top:10px;">
        <tr>
        <th>ID</th>
            <th>Username</th>
            <th>Email</th>
            <th>Progress</th>
        </tr>
        <?php
            $users = get_users();

            foreach( $users as $user ){ ?>
                <tr>
                    <td><?php echo $user->ID; ?></td>
                    <td><?php echo $user->user_nicename; ?></td>
                    <td><?php echo $user->user_email; ?></td>
                    <td>
                        <form method="POST">
                            <input type="hidden" name="user_id" value="<?php echo $user->id; ?>" />
                            <input type="number" name="progressz" placeholder="<?php echo get_user_meta( $user->ID, 'progressz', true ); ?>" />
                            <button id="btnConfirm" type="submit" name="progressz-submit">Update</button>
                        </td>
                    </form>
                </tr>
            <?php }
        ?>
    </table>
<?php }

if( isset( $_POST['progressz-submit'] ) ){
    update_user_meta( $_POST['user_id'], 'progressz', $_POST['progressz'] );
}
function kpam\u application\u management\u users(){?>
申请人
身份证件
用户名
电子邮件
进展
有几件事:

首先,为什么要为此运行
$wpdb
查询,而不是使用WordPress的帮助函数(如或类)和函数来存储提交的信息

其次,您应该确保您的代码以标准语法正确格式化,以便更容易更新和维护(而不是像那样重复巨大的HTML块)-未来谢谢

第三,您是否正在运行
if(isset($\u POST['button']){
代码?您可能应该将它挂在某个地方,并使用其中一个函数,而不是依赖任意一个通常命名的按钮

也就是说,我已经对它进行了一些清理,并使用了helper函数,但类似这样的功能应该可以让您更接近您所要查找的内容:

function kpam_application_management_users(){ ?>
    <h2>Applicants</h2>
    <table style="margin-left:10px;margin-top:10px;">
        <tr>
        <th>ID</th>
            <th>Username</th>
            <th>Email</th>
            <th>Progress</th>
        </tr>
        <?php
            $users = get_users();

            foreach( $users as $user ){ ?>
                <tr>
                    <td><?php echo $user->ID; ?></td>
                    <td><?php echo $user->user_nicename; ?></td>
                    <td><?php echo $user->user_email; ?></td>
                    <td>
                        <form method="POST">
                            <input type="hidden" name="user_id" value="<?php echo $user->id; ?>" />
                            <input type="number" name="progressz" placeholder="<?php echo get_user_meta( $user->ID, 'progressz', true ); ?>" />
                            <button id="btnConfirm" type="submit" name="progressz-submit">Update</button>
                        </td>
                    </form>
                </tr>
            <?php }
        ?>
    </table>
<?php }

if( isset( $_POST['progressz-submit'] ) ){
    update_user_meta( $_POST['user_id'], 'progressz', $_POST['progressz'] );
}
function kpam\u application\u management\u users(){?>
申请人
身份证件
用户名
电子邮件
进展

属性声明周围没有引号。我尝试过,但仍然不起作用。您的结束表单标记不正确。应该是:
。您如何将表单数据发送到php文件?即使这样也不起作用。您如何将表单数据发送到php文件?请显示更多相关代码。有e属性声明周围没有引号。我试过了,但仍然不起作用。您的结束表单标记不正确。应该是:
。您如何将表单数据发送到php文件?即使这样也不起作用。您如何将表单数据发送到php文件?请显示更多相关代码。感谢您的帮助建议,但是,它仍然不适用于我。你能做一个
var_dump($\u POST);
并显示结果吗?数组(3){[“用户id”]=>string(1)“2”[“progressz”]=>string(1)“4”[“progressz提交”]=>string(0)”}这是结果soof-我很抱歉,在我使用的代码中,而不是
update user\u meta()
。我已经更改了它-它在从update_post_meta()更改为update_user_meta()时显示严重错误。感谢您的建议,但是,它仍然不适用于我。您可以执行
var_转储($\u post);
并显示结果吗?数组(3){[“user_id”]=>字符串(1)“2”[“progressz”=>字符串(1)“4”[“progressz提交”=>字符串(0)”吗}这是结果oof-很抱歉,在我使用的代码中,我没有使用
update\u user\u meta()
。我已经更改了它-它显示了从update\u post\u meta()更改为update\u user\u meta()时出现的严重错误。