У меня есть запрос, который ищет данные из таблицы mysql и экспортирует в XML с помощью php. Но я не могу понять, как передать количество записей в элемент MatchCount в xml.
Ниже мой сценарий:
<?php
header ("content-type: text/xml");
$connection = mysqli_connect('127.0.0.1', 'root', 'admin', 'Customer_1') or die("cannot connect");
$xml='<?xml version="1.0" encoding="UTF-8"?>';
$RegistrationMark = $_GET['RegistrationMark'];
$MachineName = $_GET['MachineName'];
$qr= mysqli_query($connection, "SELECT * FROM 'EarlsdonMSIN_anpr_vega' where 'RegistrationMark' like '%" .$RegistrationMark. "%'");
$xml.='<CaptureResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\CaptureResponse.xsd"> <MachineName>'.$_GET['MachineName'].'</MachineName><MatchCount>10</MatchCount><ResponseDateTime>2017-12-20T14:00:00</ResponseDateTime><MatchRecords ImageURI = "http://192.192.192.200/share/CACHEDEV1_DATA/Lanein1/EarlsdonMSIN/">';
while($res=mysqli_fetch_array($qr))
{
$xml.='<MatchLine><VehicleRegistration>'.$res['RegistrationMark'].'</VehicleRegistration><LastStatus>IN</LastStatus><datetime>'.$res['datetime'].T.$res['time'].'</datetime><ImageFile>'.$res['image_name'].'</ImageFile></MatchLine>';
}
$xml.='</MatchRecords></CaptureResponse>';
echo $xml;
?>
Вам нужно получить счет
$row_cnt = mysqli_num_rows($qr);
то вам нужно объединить результат
$xml.='<CaptureResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\CaptureResponse.xsd"> <MachineName>'.$_GET['MachineName'].'</MachineName><MatchCount>'.$row_cnt.'</MatchCount><ResponseDateTime>2017-12-20T14:00:00</ResponseDateTime><MatchRecords ImageURI = "http://192.192.192.200/share/CACHEDEV1_DATA/Lanein1/EarlsdonMSIN/">';
Php предоставляет mysqli_num_rows()
для подсчета строк в соответствии с запросом, поэтому вы можете использовать его после mysqli_query()
Попробуй это,
$MatchCount=mysqli_num_rows($qr);
Затем замените и $MatchCount
с 10
. Ниже приведен пример
$xml.='<CaptureResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\CaptureResponse.xsd"> <MachineName>'.$_GET['MachineName'].'</MachineName><MatchCount>'.$MatchCount.'</MatchCount><ResponseDateTime>2017-12-20T14:00:00</ResponseDateTime><MatchRecords ImageURI = "http://192.192.192.200/share/CACHEDEV1_DATA/Lanein1/EarlsdonMSIN/">';