【发布时间】:2020-09-10 20:05:27
【问题描述】:
答案:设法在下面回答了我自己的问题,仍然欢迎反馈。
问题:我的INNER JOIN 声明有问题。我的代码只适用于一张表。
我的目标是根据用户输入表单的邮政编码从woocommerce_shipping_zones 中查询出zone_name,然后作为@ 传递给我的查询函数987654324@ 用于woocommerce_shipping_zone_locations 表。尽管我正在检查现有的woocommerce_shipping_zone_locations 表和woocommerce_shipping_zones 中的匹配zone_id,但我仍然难以获得结果。
非常感谢任何帮助。
<?php
if(isset($_POST['checkZip']) && isset($_POST['submittedZip'])) {
//is the cast to int needed?
$submittedZip = (int)$_POST['submittedZip'];
debug_to_console($submittedZip);
prntPage($submittedZip);
}
//query for pulling in shipping data
function prntPage($submittedZip) {
global $wpdb;
// The SQL query
if($submittedZip) {
$results = $wpdb-> get_results("SELECT {$wpdb->prefix}woocommerce_shipping_zone_locations.location_code, {$wpdb->prefix}woocommerce_shipping_zones.zone_name ".
"FROM {$wpdb->prefix}woocommerce_shipping_zone_locations ".
"WHERE location_code = '$submittedZip' ".
"INNER JOIN {$wpdb->prefix}woocommerce_shipping_zones ".
"ON {$wpdb->prefix}woocommerce_shipping_zone_locations.zone_id = {$wpdb->prefix}woocommerce_shipping_zones.zone_id ");
// Loop though rows data
foreach( $results as $row ){
print_r($row);
debug_to_console($row);
}
}
}
//function to print to console, used for debugging php
function debug_to_console($data) {
$output = $data;
$typeOfTest = getType($data);
if (is_array($output))
$output = implode(',', $output);
echo "<script>console.log('Debug Objects: " . $output . ", Type: " . $typeOfTest . "' );</script>";
}
?>
【问题讨论】:
标签: php mysql wordpress woocommerce