Php 如何在一个查询中收集关于一个项目的所有结果
我试图为我发送的货物创建一个php跟踪页面,我创建了一个html页面,将ajax查询发送到我的php文件,然后显示所有细节 我已经成功地获取了信息 但问题是,当我对运单编号进行循环时,它会以1的形式显示它们,这意味着 如果我有3张运单,就说[ 50003 , 3902 , 39499] 结果将是 id:50003,状态:已拾取, id:3902,状态:已拾取, id:39499,状态:已拾取, 那就是 id:50003,状态:左城市, id:3902,状态:左城市, id:39499,状态:左城市, 等等 这是非常糟糕的 我需要它像: id:50003,状态1:已拾取,状态2:左侧城市:状态3:已交付,诸如此类 这是我的php:Php 如何在一个查询中收集关于一个项目的所有结果,php,api,loops,foreach,Php,Api,Loops,Foreach,我试图为我发送的货物创建一个php跟踪页面,我创建了一个html页面,将ajax查询发送到我的php文件,然后显示所有细节 我已经成功地获取了信息 但问题是,当我对运单编号进行循环时,它会以1的形式显示它们,这意味着 如果我有3张运单,就说[ 50003 , 3902 , 39499] 结果将是 id:50003,状态:已拾取, id:3902,状态:已拾取, id:39499,状态:已拾取, 那就是 id:50003,状态:左城市, id:3902,状态:左城市, id:39499,状态:左城
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$waybill2 = explode(PHP_EOL, $_POST['waybill']) ;
$value = "<int>".implode('</int><int>', $waybill2)."</int>";
$curl = curl_init();
curl_setopt_array($curl,array(
CURLOPT_URL => 'https://infotrack.naqelexpress.com/NaqelAPIServices/NaqelAPI/9.0/XMLShippingService.asmx?wsdl',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>"<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
<TraceByMultiWaybillNo xmlns='http://tempuri.org/'>
<ClientInfo>
<ClientAddress>
<PhoneNumber>******</PhoneNumber>
<FirstAddress>******</FirstAddress>
<Location>******</Location>
<CountryCode>******</CountryCode>
<CityCode>******</CityCode>
</ClientAddress>
<ClientContact>
<Name>zeyad</Name>
<Email>******</Email>
<PhoneNumber>******</PhoneNumber>
<MobileNo>******</MobileNo>
</ClientContact>
<ClientID>******</ClientID>
<Password>*****</Password>
<Version>9.0</Version>
</ClientInfo>
<WaybillNo>
$value
</WaybillNo>
</TraceByMultiWaybillNo>
</soap:Body>
</soap:Envelope>
",
CURLOPT_HTTPHEADER => array(
'Content-Type: text/xml'
),
));
$response = curl_exec($curl);
curl_close($curl);
$response = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $response);
$xml = new SimpleXMLElement($response);
$body = $xml->xpath('//soapBody')[0];
$array = json_decode(json_encode((array)$body), true);
$data = $array['TraceByMultiWaybillNoResponse']['TraceByMultiWaybillNoResult']['Tracking'];
$waybils = array();
foreach ($data as $index => $val1) {
echo "<pre>";
$waybils[] = $val1['WaybillNo'];
print_r($waybils);
foreach( $waybils as $e ){
echo $e . $val1['ArabicActivity'];
}
// echo $val1['WaybillNo']." && ".$val1['ArabicActivity'] ;
echo "</pre>";
}
此代码的大部分内容与您的问题无关。我建议您阅读帮助中心关于创建一个应用程序的文章。您的问题的核心是
foreach($index=>data$val1)
,因此您应该只关注这一点。你应该给我们提供一个$data
的示例,因为我们需要知道它的结构,以便找出哪里出了问题(并能够运行代码进行测试)。非常感谢你的友好回复,在发送本文之前,我真的尝试了所有方法,但都没有成功。。我编辑了这篇文章,并添加了outpot或$data arrayA小提示:最好使用var\u export
print\u r
更易于阅读,但是var\u export
的输出可以直接复制到编辑器中以重新创建变量。你能替换它吗?当然,我现在替换了它,正如你所看到的,它为每个运单创建了一个新的数组,我在想,是否有可能合并所有运单编号和ArabicActivity,使一个数组显示每个请求的所有数据
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="scri.js" ></script>
</head>
<body>
<div class="container">
<div class="row">
<h1>
Type Here
</h1>
<form class="md-6" id="sds_contact_form">
<div class="form-group">
<label for="exampleFormControlTextarea1">Example textarea</label>
<textarea class="form-control way" name="waybill" id="exampleFormControlTextarea1" rows="3"></textarea>
</div>
<div class="form-group mt-6">
<input type="button" class="send" onClick="onClick()" value="submit" name="send"/>
</div>
</form>
</div>
<div class="succ"></div>
</div>
<script>
function onClick()
{
var $waybill = $('.way').val();
var myLineBreak = $waybill.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '<br />');
var succ = $('.succ');
$.ajax({
url:'g.php',
type:'post',
method:'post',
data: {'waybill': $waybill},
success: function(data){
succ.html(data)
},
dataType: "json",
error:function queryError(request, textStatus, errorThrown) {
$('.succ').html("error " + request.responseText, textStatus + " " + errorThrown);
}
});
}
</script>
</body>
</html>
array (
0 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-11T22:48:00',
'ActivityCode' => '1',
'Activity' => 'Picked Up at : Buraydah',
'ArabicActivity' => 'تم إستلام الشحنة من الراسل : بريدة',
'WaybillNo' => '52636025',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' =>
array (
),
'RefNo' => '41337_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '1',
),
1 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-11T22:48:00',
'ActivityCode' => '1',
'Activity' => 'Picked Up at : Buraydah',
'ArabicActivity' => 'تم إستلام الشحنة من الراسل : بريدة',
'WaybillNo' => '52636027',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' =>
array (
),
'RefNo' => '41356_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '1',
),
2 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-12T02:13:04.833',
'ActivityCode' => '47',
'Activity' => 'Miscode: Correct city',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636026',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'JUBAIL(KSA)',
'RefNo' => '41369_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
3 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-12T02:15:39.37',
'ActivityCode' => '47',
'Activity' => 'Miscode : Correct city : JEDDAH(KSA)',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636027',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'JEDDAH(KSA)',
'RefNo' => '41356_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
4 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-12T02:19:38.67',
'ActivityCode' => '47',
'Activity' => 'Miscode : Correct city : RIYADH(KSA)',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636025',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'RIYADH(KSA)',
'RefNo' => '41337_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
5 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-12T07:40:17.567',
'ActivityCode' => '47',
'Activity' => 'Terminal Handling',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636026',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'ELQRUHHCBU27 - tripID - 31036',
'RefNo' => '41369_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
6 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-12T07:40:18.22',
'ActivityCode' => '47',
'Activity' => 'Load to Trip : ELQRUHHCBU27 - tripID - 31036',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636025',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'ELQRUHHCBU27 - tripID - 31036',
'RefNo' => '41337_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
7 =>
array (
'StationCode' => 'Buraydah',
'Date' => '2021-05-12T07:40:18.22',
'ActivityCode' => '47',
'Activity' => 'Load to Trip : ELQRUHHCBU27 - tripID - 31036',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636027',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'ELQRUHHCBU27 - tripID - 31036',
'RefNo' => '41356_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
8 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-12T14:43:33.587',
'ActivityCode' => '47',
'Activity' => 'Cons.Arrived at : Sort Facility - RIYADH - ELQRUHHCBU27 - tripID - 31036',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636025',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'Sort Facility - RIYADH - ELQRUHHCBU27 - tripID - 31036',
'RefNo' => '41337_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
9 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-12T14:43:34.067',
'ActivityCode' => '47',
'Activity' => 'Terminal Handling',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636026',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'Sort Facility - RIYADH - ELQRUHHCBU27 - tripID - 31036',
'RefNo' => '41369_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
10 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-12T14:43:34.133',
'ActivityCode' => '47',
'Activity' => 'Cons.Arrived at : Sort Facility - RIYADH - ELQRUHHCBU27 - tripID - 31036',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636027',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'Sort Facility - RIYADH - ELQRUHHCBU27 - tripID - 31036',
'RefNo' => '41356_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
11 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-12T14:45:55.877',
'ActivityCode' => '47',
'Activity' => 'Transit : Transit Facility',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636025',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' =>
array (
),
'RefNo' => '41337_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
12 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-12T14:45:55.877',
'ActivityCode' => '47',
'Activity' => 'Transit: Transit Facility',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636026',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' =>
array (
),
'RefNo' => '41369_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
13 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-12T14:45:55.877',
'ActivityCode' => '47',
'Activity' => 'Transit : Transit Facility',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636027',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' =>
array (
),
'RefNo' => '41356_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
14 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-13T00:08:10.397',
'ActivityCode' => '47',
'Activity' => 'Load to Trip : RUHTMM2 - tripID - 31076',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636025',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'RUHTMM2 - tripID - 31076',
'RefNo' => '41337_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
15 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-14T15:13:24.773',
'ActivityCode' => '47',
'Activity' => 'Terminal Handling',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636026',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'RUHQJBFRI01 - tripID - 31082',
'RefNo' => '41369_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
16 =>
array (
'StationCode' => 'RIYADH',
'Date' => '2021-05-14T16:44:00.457',
'ActivityCode' => '47',
'Activity' => 'Load to Trip : RUHJEDFRI - tripID - 31085',
'ArabicActivity' => 'Terminal Handling',
'WaybillNo' => '52636027',
'ClientID' => '9020654',
'HasError' => 'false',
'ErrorMessage' =>
array (
),
'Comments' => 'RUHJEDFRI - tripID - 31085',
'RefNo' => '41356_O_110521',
'DeliveryStatusID' => '0',
'EventCode' => '47',
),
)