单击按钮显示数据库中的wordpress数据库自定义表行列值

vcudknz3  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(406)

我在wordpress数据库中添加了一个自定义表。除此之外,我还创建了一个快捷代码,可以将其附加到我的wordpress网站的特定页面上。表有两列,id和u代码。
自定义表用于存储优惠券代码,我需要能够在按钮的单击事件上显示此表的第一行列值(优惠券代码=插入编号)。

function coupon_codes() {
 ?>
    <button class="reveal_coupon" onclick="reveal_coupon()">CLICK TO REVEAL 
COUPON CODE</button>
    <div class="coupon"></div>
      <?php
        global $wpdb;
        $result = $wpdb->get_results ( "SELECT * FROM coupon_codes LIMIT 1" 
        );
        foreach ( $result as $print )   {
          echo $print->coupon_code;
        }
}
add_shortcode( 'coupon_codes' , 'coupon_codes' );

我明白为了实现这一点,我需要将php代码移到一个单独的php文件中,因为这个代码只在服务器端运行,只有在click事件上运行该文件才能实现。那部分我理解。
除非用click事件调用,否则无法显示行值。这就是为什么我认为js/jquery可以在这种情况下工作,但是我无法准确地理解脚本以使其工作。

doinxwow

doinxwow1#

您似乎误解了php和html/js/css的交互方式。
如果在单击按钮之前无法显示行值(我假设您有 <button class="reveal_coupon"... 元素),你几乎在正确的轨道上。假设你的 <div class="coupon"></div> 优惠券是专门用来保存php脚本输出的优惠券数据的,下面我将做一些观察:
你是 echo 将您的数据放在
coupon div ,所以无论您输出什么,都不一定要遵循您为这个元素实现的css样式和js逻辑。将php代码移到 <div class="coupon"> 以及 </div> .
为了实现所需的功能,您需要添加相关的javascript和css样式。最易维护的方法是将js和css分解成单独的文件,并利用 wp_enqueue_script 以及 wp_enqueue_style 新函数/排队挂钩对中的函数,以便在适当的时间在dom中插入对这些文件的引用:

add_action ( 'wp_enqueue_scripts', 'coupon_enqueue_scripts' );
function coupon_enqueue_scripts() {
    wp_enqueue_script("coupon", "coupon.js");
}

add_action ( 'wp_enqueue_styles', 'coupon_enqueue_styles' );
function coupon_enqueue_styles() {
    wp_enqueue_style("coupon", "coupon.css");
}

在这些文件中,您需要添加(a)javascript逻辑来实现 reveal_coupon() 函数引用在您当前的html输出,和(b)css样式最初隐藏优惠券代码。

相关问题