我一直在尝试从我刚刚创建的mysql表中逐个检索数据。图片下方显示的表格中包含样本优惠券代码和一个名为" test"指定代码是否由用户生成。
我的目标是检索以下优惠券代码" adidas"串行(arda10,arda11,arda12,...)并在显示优惠券代码后更新测试栏中优惠券的状态。 如果测试列中的状态为1,则不应向用户显示代码。只应打印状态为0的代码。
$kupon = $wpdb->get_results( 'SELECT * FROM `wp_kuponlar`', ARRAY_A);
echo $kupon[adidas];
请帮忙!
答案 0 :(得分:0)
我不确定你的问题是什么以及错误可能是什么,但这是一个更好的格式和方法,请确保你的adidas像我下面的例子一样被点燃。
$kupon = $wpdb->get_results( 'SELECT * FROM wp_kuponlar', ARRAY_A);
foreach($kupon as $coupon){
echo $coupon['adidas'];
}
额外提示 如果表附加到wordpress db而不是完全不同的数据库,则更好的方法是执行以下操作
$kupon = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}_kuponlar", ARRAY_A);
基于评论
$kupon = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}_kuponlar where status = 0 Orderby id ASC", ARRAY_A);
foreach($kupon as $coupon){
echo $coupon['adidas'];
}
答案 1 :(得分:0)
从wp数据库表中获取结果使用 $ wpdb-> get_results()查询类似的内容,
它为您提供测试状态为0或1的所有数据
<?php
global $wpdb;
$kupon = $wpdb->get_results(
$wpdb->prepare(
'SELECT * FROM wp_kuponlar'
), ARRAY_A
);
foreach ($kupon as $coupon) {
echo $coupon['adidas'];
}
但是如果您想将更改查询的值0过滤为
<?php
global $wpdb;
$kupon = $wpdb->get_results(
$wpdb->prepare(
'SELECT * FROM wp_kuponlar WHERE test = %d', 0
), ARRAY_A
);
foreach ($kupon as $coupon) {
echo $coupon['adidas'];
}
以优惠券的顺序按升序查找结果数据,测试状态不是1,
<?php
global $wpdb;
$kupon = $wpdb->get_results(
$wpdb->prepare(
'SELECT * FROM wp_kuponlar WHERE test != 1 ORDER BY RIGHT(adidas,3)'
), ARRAY_A
);
// Now the resultset will be in order of ids
foreach ($kupon as $coupon) {
echo $coupon['adidas'];
}