Death_Octimus Posted June 21, 2011 Share Posted June 21, 2011 yo going mad trying to get this simple bit of code to work but its skipping the first element! keeping giving out "Notice: Trying to get property of non-object in C:\xampp\htdocs\1985\bunker\index.php on line 15" even tried cheating with echo display("name","-1"); but it cuts out last element xml file <catalog> <module> <name>First</name> <size>1x1</size> <description>Floor Tile</description> <iscorner>0</iscorner> <isstraight>0</isstraight> <isdoorframe>0</isdoorframe> <addons>0</addons> <normalmap>0</normalmap> <texturemap>0</texturemap> <uv>0</uv> <image>null</image> </module> </catalog> php file <?php //load up XML $xmldata = simplexml_load_file('data.xml'); //Check for error if ($xmldata == true) { function display ($input, $n) { global $xmldata; foreach ($xmldata as $xmldata["module"] => $key) { echo $xmldata->module[$n]->$input . "<br />"; $n++; } } } else { die("aghhh error XML missing or unreadable!"); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Bunker Catalog</title> </head> <body> <?php echo display("name","0"); ?> </body> </html> any help ! Quote Link to comment Share on other sites More sharing options...
btherl Posted June 21, 2011 Share Posted June 21, 2011 foreach ($xmldata as $xmldata["module"] => $key) { You shouldn't be using $xmldata["module"] here - it should be a fresh variable, such as $module. I don't know if that's the cause of the problem but fixing that would be a good start. If you don't use the key at all (I'm talking about the array key named $xmldata["module"], not the $key variable) then you can just leave it out and do: foreach ($xmldata as $key) { Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.