Получить счетчик записей из SQL и передать его в XML с помощью PHP

0

У меня есть запрос, который ищет данные из таблицы 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;
?>
Теги:

2 ответа

0
Лучший ответ

Вам нужно получить счет

$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/">';
  • 1
    Спасибо мадалиниваску. Это сработало.
  • 0
    Можете ли вы сказать мне, как получить текущее время на resposedatetime на xml .. пожалуйста
Показать ещё 2 комментария
0

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/">'; 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню