从多个URLS PHP登录多个Curl请求

时间:2015-08-22 16:18:55

标签: php curl woocommerce curl-multi

对此有一个小问题,我有12个相同的curl请求来匹配键入的订单号以获得响应。奇怪的是,这非常有效。

当我尝试将它们组合在一起时 - 如果第一个URL没有匹配移动到第二个卷曲请求,依此类推。

我遇到的问题是登录我认为,我什么都没有回来。我不完全确定最佳解决方案是什么,是否运行一组if / else语句并运行curl请求,如果最后一个是空的或者一次运行它们并显示来自回答站点的结果! / p>

这是我目前的要求。

提前感谢您的帮助......

$data = array();                                                                    
$data_string = json_encode($data);                                                                                   

$username = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$password = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

$ch = curl_init('https://tinywaist.co.uk/wc-api/v2/orders/'.$uksearch.'?consumer_key='.$username.'&consumer_secret='.$password);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);                                  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);                                                                     
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
'Content-Type: application/json',                                                                                
'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   

$result = curl_exec($ch);
$result = json_decode($result, true);



foreach($result as $item) {

    $ordernum = $item['order_number'];
    $date = date('d M Y',strtotime($item['created_at']));
    $firstname = $item['shipping_address']['first_name'];
    $lastname =  $item['shipping_address']['last_name'];
    $company = $item['shipping_address']['company'];
    $ad1 = $item['shipping_address']['address_1'];
    $ad2 = $item['shipping_address']['address_2'];
    $city = $item['shipping_address']['city'];
    $state = $item['shipping_address']['state'];
    $postcode = $item['shipping_address']['postcode'];
    $country = $item['shipping_address']['country'];
    $total = $item['total'];
    $product = $item['line_items'][0]['name'];
    $quantity = $item['line_items'][0]['quantity'];
    $size = $item['line_items'][0]['meta'][0]['value'];
    $prod1 = $item['line_items'][1]['name'];
    $quant1 = $item['line_items'][1]['quantity'];
    $size1 = $item['line_items'][1]['meta'][0]['value'];
    $prod2 = $item['line_items'][2]['name'];
    $quant2 = $item['line_items'][2]['quantity'];
    $size2 = $item['line_items'][2]['meta'][0]['value'];
    $email = $item['billing_address']['email'];
    $status = $item['status'];

    $account = '<a href="http://example.com/wp-admin/post.php?post='.$ordernum.'&action=edit"  target="_blank">'.$ordernum.'</a>';


    if (!$link = mysql_connect('IP_ADDRESS', 'user', 'pass')) {
        echo 'Could not connect to mysql';
        exit;
    }

    if (!mysql_select_db('DB_Name', $link)) {
        echo 'Could not select database';
        exit;
    }

    $sql    = "SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id = $ordernum AND  meta_key = '_aftership_tracking_number'";
    $result = mysql_query($sql, $link);



    if (!$result) {
        echo "DB Error, could not query the database\n";
        echo 'MySQL Error: ' . mysql_error();
        exit;
    }

    $var = array();
    while ($row = mysql_fetch_array($result)) {

        $var = $row['meta_value'] . "\n";
    }


    $arrayuk .= '
            <table class="table table-striped listbox">
    <thead>
        <tr>
            <th>Customer Details</th>
            <th>Order Details</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>       
                <div class="">'.$firstname.' '.$lastname.'</div>
                <p></p>
                <div class="">'.$company.'</div>
                <div class="">'.$ad1.'</div>
                <div class="">'.$ad2.'</div>
                <div class="">'.$city.'</div>
                <div class="">'.$state.'</div>
                <div class="">'.$postcode.'</div>
                <div class="">'.$country.'</div>
            </td>

            <td>
                <div class="">Number: '.$account.'</div>
                <div class="">Date: '.$date.'</div>
                <p></p>
                <div><a href="mailto:'.$email.'">'.$email.'</a></div>
                <p></p>
                <img style="width:25px;" src="../images/flags/uk.png">
                <div class="status">'.$status.'</div>
            </td>
        </tr>

        <tr>
            <th>Products</th>
            <th>Tracking</th>
        </tr>

        <tr>
            <td>       
                <div class=""><b>'.$quantity.'</b> '.$size.' '.$product.'</div>
                <div class=""><b>'.$quant1.'</b> '.$size1.' '.$prod1.'</div>
                <div class=""><b>'.$quant2.'</b> '.$size2.' '.$prod2.' </div>
            </td>
            <td><div class="trackcomplete"><a class="btn btn-md btn-primary" href="http://track.aftership.com/'.$var.'" target="_blank"><b>'.$var.'</b></a></div></td>


    </tbody>
    </table>';
}


curl_close($ch);

如果有人可以通过示例或帮助将我上面的内容放到if / else语句中,请记住它必须处理12个不同的请求。我只是不确定这是否正确或有效!

由于

0 个答案:

没有答案