FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » how to retrieve xml data from three tables of mysql
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
how to retrieve xml data from three tables of mysql [message #170591] Tue, 09 November 2010 10:40 Go to previous message
hunter is currently offline  hunter
Messages: 1
Registered: November 2010
Karma:
Junior Member
hay gays i want to retrieve xml data from three table stored in mysql.
i used the below code it works fine but first it retrieve one record
from first table than iterate to second table and print the whole
table and then iterate to third table and print the whole table but i
want to print first table along with relevant records in second table
(not whole table) then from third table and so on. my code is
$table_first = 'recipe';
$query = "SELECT * FROM $table_first";
$resouter = mysql_query($query, $conn);

$table_second='instructions';
$query="SELECT
instructions.instruction_id,instructions.instruction_text FROM
$table_second";
$resinner=mysql_query($query, $conn);


$table_third='ingredients';

$query="SELECT
ingredients.ingredient_id,ingredients.ingredient_name,ingredients.ammount
FROM $table_third";
$resthird=mysql_query($query, $conn);


$doc = new DomDocument('1.0');

$root = $doc->createElement('recipes');
$root = $doc->appendChild($root);




while($row = mysql_fetch_assoc($resouter)){


$outer = $doc->createElement($table_first);
$outer = $root->appendChild($outer);

foreach ($row as $fieldname => $fieldvalue) {
$child = $doc->createElement($fieldname);
$child = $outer->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);
}// foreach
//while
$inner = $doc->createElement($table_second);
$inner = $outer->appendChild($inner);
while($row = mysql_fetch_assoc($resinner)){
// add node for each record


$inner1=$doc->createElement('instruction');
$inner1=$inner->appendChild($inner1);
// add a child node for each field
foreach ($row as $fieldname => $fieldvalue) {
$child = $doc->createElement($fieldname);
$child = $inner1->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);
} // foreach
}// while


$inner=$doc->createElement($table_third);
$inner=$outer->appendChild($inner);

while($row=mysql_fetch_assoc($resthird)){



$inner2=$doc->createElement('ingredient');
$inner2=$inner->appendChild($inner2);

foreach($row as $fieldname=> $fieldvalue)
{
$child=$doc->createElement($fieldname);
$child=$inner2->appendChild($child);
$value=$doc->createTextNode($fieldvalue);
$value=$child->appendChild($value);
}
}
}

mysql_close($conn);
$xml_string = $doc->saveXML();
echo $xml_string;
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: I need help for PHP thread code
Next Topic: Most efficient way to randomize a quiz from a database
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Tue Nov 26 14:21:50 GMT 2024

Total time taken to generate the page: 0.08238 seconds