Всем привет! у меня есть в базе две связанные таблицы (таб1-родительские элементы, а дис-дочерные элементы). Надо их извлечь от туда в древовидной структуре(типа хмл). Но, у меня почему то все дочерные элементы входят под первый элемент и условие не работает. Что мне делать подскажите пожалуйста!
<records> <record 1> <kod>1</kod> <name>nnnn</name> <type> 2324 </type> <relation> <kods>11</kods> <name>ыпывыпып</name> <type>d</type> </relation> .. до конца дочернего элемента элемента 1 <relation> <kods>99</kods> <name>sdgsdgsdd</name> <type>d</type> </relation> </record> <record 2 >(11 элемент имеет дочерние элементы в таблице 2,) <kod>11</kod> <name>dfghhj</name> <relation> <kods>1111</kods> <name>ыпывыпып</name> <type>d</type> </relation> .. до конца дочернего элемента под элемента 11 <relation> <kods>9999</kods> <name>sdgsdgsdd</name> <type>d</type> </relation> </record> </records> все -record-ы хранятся в первой таблице; все -relation-ы хранятся во второй таблице; Теперь проблема в том, что я должна сравнивать все элементы таблицы по id. Я сделала, но кажется здесь у меня ошибка, подскажите пожалуйста: $query = 'SELECT kod,name FROM tab1 WHERE tab1.id=tab2.id ORDER BY tab1.id '; $result = pg_query($query) or die('Ошибка запроса: ' . pg_last_error()); $query1 = "SELECT tab2.kods, tab1.name, tab2.type FROM tab2 JOIN tab1 ON tab1.kod=tab2.kods ORDER BY tab2.ide "; $result1 = pg_query($query1) or die ("Error in query1: $query1. " . pg_last_error()); header("Content-type: text/xml; charset= UTF-8"); $doc = new DOMDocument("1.0"); // add root node $root = $doc->createElement("records"); $node = $doc->appendChild($root); while ($row = pg_fetch_assoc($result)){ $out=$doc->createElement('record'); $out=$root->appendChild($out); foreach ($row as $fieldname => $fieldvalue) { $child = $doc->createElement($fieldname); $child = $out->appendChild($child); $value = $doc->createTextNode($fieldvalue); $value = $child->appendChild($value); } while ($row = pg_fetch_assoc($result1)){ $inner = $doc->createElement('relation'); $inner = $out->appendChild($inner); foreach ($row as $fieldname => $fieldvalue) { $child = $doc->createElement($fieldname); $child = $inner->appendChild($child); $value = $doc->createTextNode($fieldvalue); $value = $child->appendChild($value); } }}