0
CI
で書かれており、wooapi v2
を使用しています。注文はmanual renewal
ではなく、常にcompleted
とマークされています。目標は、後のステータスが既に手動で更新されている場合、完了マークは付けられませんが、手動で更新することです。どんな助けでも大歓迎です。 CIの初心者です。CI注文ステータスの問題
function complete_order($orderid) {
$consumer_key = 'xxx'; // Add your own Consumer Key here
$consumer_secret = 'xxxx'; // Add your own Consumer Secret here
$store_url = 'xxx'; // Add the home URL to the store you want to connect to here
$options = array(
'debug' => true,
'return_as_array' => false,
'validate_url' => false,
'timeout' => 30,
'ssl_verify' => false,
);
$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql ="SELECT * FROM xxxxxx WHERE ID = '$orderid'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
$poststatus= '. $row["post_status"].';
if ($poststatus = wc-manual-renewal-re){
$client = new WC_API_Client($store_url, $consumer_key, $consumer_secret, $options);
$client->orders->update_status($orderid, 'wc-manual-renewal-re');
}else{$client = new WC_API_Client($store_url, $consumer_key, $consumer_secret, $options);
$client->orders->update_status($orderid, 'wc-completed');
}
}
}
私はエラーが $ SQLであると思わ= "WHERE ID = '$の受注コード' XXXXXX SELECT * FROM";または $ poststatus = 'です。 $ row ["post_status"]。 '; 私が知っているすべてを試しましたが修正できません。 – gpratt86
これは 'if($ poststatus = wc-manual-renewal-re){'を意味しません。最初に、常に真を返す '==='の代わりに '='を代入しています。これは定数ではなく文字列でなければなりません: 'wc-manual-renewal-re' – JimL
ありがとうございます。 @JImL。私の部分では非常に愚かなエラー。 ===それを固定した。それを答えさせて、それを正しいとマークします。 – gpratt86