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