Интересно, может ли кто-нибудь помочь мне, пожалуйста.
У меня возникла проблема при попытке объединить информацию из двух таблиц базы данных mySQL.
Запрос, который я собрал так,ниже показано далеко.
<?php
require("phpfile.php");
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// Opens a connection to a MySQL server
$connection=mysql_connect ("hostname", $username, $password);
if (!$connection) { die('Not connected : ' . mysql_error());}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
$query = "SELECT findid,
findosgb36lat,
findosgb36lon,
findcategory,
findname,
finddescription
FROM finds
WHERE makepublic = 'Yes'
AND sites.sitetype,
sites.sitedescription,
sites.siteosgb36lat,
sites.osgb36lon";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("findosgb36lat",$row['findosgb36lat']);
$newnode->setAttribute("findosgb36lon",$row['findosgb36lon']);
$newnode->setAttribute("findcategory",$row['findcategory']);
$newnode->setAttribute("findname",$row['findname']);
$newnode->setAttribute("finddescription",$row['finddescription']);
}
echo $dom->saveXML();
?>
Проблема, с которой я столкнулся, заключается в том, что я не уверен, как извлечь все записи из таблицы «sites», а только те записи из таблицы «find», гдеmakepublic 'значение равно' yes '.Я провел некоторое исследование, чтобы увидеть, будет ли работать конкретное соединение, то есть левое или правое, но поскольку нет общих полей между таблицами, я знаю, что они не будут работать.
Может кто-нибудь показать мне, какЯ могу обойти эту проблему, пожалуйста.
Большое спасибо