Hi, This is the first time I've REALLY tackled multi-dimensional arrays, in conjunctions with functions.
I like the way this code works: <? $sql = "select from...."; $result = mysql_result($sql); while($myrow = mysql_fetch_array($result)) { echo $myrow['colname']; } ?> So I built a function which returns a multi-dimensional array: <? function getSongByArtist($artist_id,$order='title ASC') { $sql = " SELECT * FROM songs WHERE artist_id='{$artist_id}' ORDER BY {$order} "; $result = mysql_query($sql); if(!$result) { return 0; } else { while($myrow = mysql_fetch_array($result)) { foreach($myrow as $k => $v) { $$k = $v; } $songs["$id"] = array( 'title' => "$title", 'writers' => "$writers", 'video' => "$video", 'artist_id' => "$artist_id" ); } return $songs; } } ?> I can then do: <? $songs = getSongByArtist(4); print_r($song); ?> ... and it prints the results I'm expecting. All good. However, I was hoping to use it in a similar way that I use mysql in the above code... something like: <? while($song = getSongByArtist(4)) { echo song['title']; echo song['writers']; echo song['video']; echo song['artist_id']; } ?> But it's just running through an infinite loop. Perhaps mysql_fetch_array() is doing something magic??? Perhaps I need to return something different in my function? I guess I could do it as a foreach()... Justin French -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php