Newbie: How to universalize a mysql=>xml script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi
I am try to create a generic function that takes any mysql found set and creates and custom tiered xml list

The below works but seems a bit kludgy :(
Code synopsis: If we are are on a new row and the first value in that row , <artist>, is different...then do something

Is there a cleaner and more universal way to do this ?
I am attempting to take my php skills to the next level by making my code more generic and flexible.

Ultimately, I would like to feed it a couple of variables and generate an xml list with any number of levels ... FYI, I know the xml is not formed properly....is just for dummy purposes :)


I am a bit new to all of this so any help is appreciated :)

many thanks
g


The below works and generates the dummy output:
<artist>Akwid</artist>
	<trackName>Jamas Imagine</trackName>
	<id>38</id>
	<trackName>No Hay Manera</trackName>
	<id>42</id>
<artist>Azteka</artist>
	<trackName>Mexicano Por Fortuna</trackName>
	<id>41</id>
	<trackName>Sueno Americano</trackName>
	<id>33</id>
...


// PHP code

$result = mysql_query($sql);
$numRows = mysql_num_rows($result);
$numFields = mysql_numfields($result);
$i = 0; //use to determing the first row

//get all the keys in the found set
for ($x=0; $x<$numFields; $x++) {
   $keyNames[]= mysql_field_name($result, $x);
}

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

			 foreach($line as $key => $val) {

 				//are we on the first key in the found set ?
 				if($key == $keyNames[0]){
 						
 						// Are we on row 0 or is $val,  <artist>, a new value
 						if($i = 0 OR $val !== $firstVal) {
 							echo "<$key>$val</$key>"."\n";
 							$firstVal = $val;
 						}
 				// We are not on the first key...so add a tab
 				}else{
 						echo "\t"."<$key>$val</$key>"."\n";
 				}

                $i++; //used for checking for first row
                }
                }
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux