Итак, у меня есть база данных SQL, в которой хранятся игровая информация, такая как содержимое инвентаря, и я пытаюсь отобразить это на веб-странице, используя php.получить определенную строку таблицы из файла XML в php
SQL-материал работает, и у меня есть XML-файл, содержащий все имена и информацию для всех элементов. когда я попытался прочитать XML-файл для печати имен элементов, я получаю ошибки для некоторых записей.
<?php
$ObjectXML = simpleXML_load_file("xml\objects_types.xml") or die("Error: Cannot Open XML file Object Types");
$servername = "localhost";
$username = -
$password = -
$connection = new mysqli($servername, $username, $password);
if($connection->connect_error)
{
die("Connection failed: " . $connection->connect_error);
}
echo("Connected Successfully<br>");
$sql = "SELECT * FROM lif_1.items WHERE ContainerID = 158;";
$result = $connection->query($sql);
echo('<table style="width:100%">');
echo("<tr>");
echo(" <th>ID</th>");
echo(" <th>ContainerID</th>");
echo(" <th>ObjectTypeID</th>");
echo(" <th>Quality</th>");
echo(" <th>Quantity</th>");
echo(" <th>Durability</th>");
echo(" <th>MaxDurability</th>");
echo("</tr>");
foreach($result as $row)
{
echo("<tr>");
$rowpos = 0;
foreach($row as $value)
{
$rowpos++;
echo("<td>");
echo($value);
if($rowpos==3)
{
echo(" Name:");
echo($ObjectXML->row[$value-1]->Name);
//print_r($ObjectXML->xpath('//objects_types[@ID="'+$value+'"]'));
}
echo("</td>");
}
echo("</tr>");
}
?>
на веб-странице (и ошибок): http://86.146.184.166/
XML-файл: http://86.146.184.166/xml/Objects_types.xml
я попытался с помощью XPath Основе раствора на здесь, но, казалось, возвращает пустой массив.
EDIT: выход: (немного трудно читать)
Connected Успешно
ID ContainerID ObjectTypeID Качество Количество Прочность MaxDurability236158644 Имя: Vertato Zonda10020002721581032 Имя:
Примечание: Попытка получить имущество не-объект в D: \ HTTP \ XAMPP \ HTDOCS \ index.php на линии
100100273158361 Название: Iron Bar10060002801581030 Имя:
Примечание: Попытка получить имущество не-объект в D: \ HTTP \ XAMPP \ HTDOCS \ index.php на линии
10028001089158338 Название: Bone Glue523001090158430 Название: Деревянная Gatehouse561001091158390 Название: Первобытный Crucible и Stick562001092158342 Название: Шелк Filaments56500
edit2 - Ответил: D Что я изменил упаковывают кого считает это полезным:
echo(" Name:");
//echo($ObjectXML->row[$value-1]->Name);
$xpathobject = $ObjectXML->xpath("row/ID[.=\"$value\"]/parent::*");
//print_r($xpathobject);
echo($xpathobject[0]->Name);
Было бы лучше, если бы вы включили ошибку в само сообщение, чтобы сделать его самосогласованным, чтобы в будущем, даже если связанный контент изменился, он все равно может принести пользу читателям. – ace