wwfc_barmy_army Posted November 6, 2006 Share Posted November 6, 2006 Hello.I am still reasonably new to PHP and I currently have this code to return artists name from a database:[code=php:0] <?phpif ($artist == ""){print "Please select an artist:<br/>"; $result = @mysql_query("SELECT * FROM artist ORDER BY name ASC");while ($row = mysql_fetch_assoc($result)) {echo "<a href=index.php?artist=".$row[artist_id].">".$row[name]."</a><br/>";}}?>[/code]I am trying to figure out if there is a way so do this; the results are returned in alphabetical order is it possible to get them sorted under each letter without doing a query for each letter, so it lists like:[b]A[/b]AoneAtwo[b]B[/b]BoneBtwo... Etc etc...Can anyone offer any advice/code/links?Thanks guys! :) Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/ Share on other sites More sharing options...
Mattyspatty Posted November 7, 2006 Share Posted November 7, 2006 you could use substr to find the first letter and then keep printing the results until the letter changes then print B (or whatever letter it is) and continue.[code=php:0]$letter = "";$result = @mysql_query("SELECT * FROM artist ORDER BY name ASC");while ($row = mysql_fetch_assoc($result)) { if($letter != substr($row['name'],0,1) { echo substr($row['name'],0,1); } echo "<a href=index.php?artist=".$row[artist_id].">".$row[name]."</a><br/>";}?>[/code]theres some pretty basci code i just whipped up you'll want to change it as you need :) Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120684 Share on other sites More sharing options...
JasonLewis Posted November 7, 2006 Share Posted November 7, 2006 your code there isnt even changing $letter. shouldn't you change it to the new one so it can check for the next letter? Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120846 Share on other sites More sharing options...
wwfc_barmy_army Posted November 7, 2006 Author Share Posted November 7, 2006 [quote author=ProjectFear link=topic=114075.msg464155#msg464155 date=1162892620]your code there isnt even changing $letter. shouldn't you change it to the new one so it can check for the next letter?[/quote]Any ideas how i would do this too?Thanks. Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120862 Share on other sites More sharing options...
trq Posted November 7, 2006 Share Posted November 7, 2006 [quote]Any ideas how i would do this too?[/quote]Think?[code]<?php$letter = "";$result = @mysql_query("SELECT * FROM artist ORDER BY name ASC");while ($row = mysql_fetch_assoc($result)) { if($letter != substr($row['name'],0,1) { echo substr($row['name'],0,1); $letter = substr($row['name'],0,1); } echo "<a href=index.php?artist=".$row['artist_id'].">".$row['name']."</a><br/>";}?>[/code] Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120865 Share on other sites More sharing options...
wwfc_barmy_army Posted November 7, 2006 Author Share Posted November 7, 2006 I'm getting this error:Parse error: parse error, unexpected '{' in C:\public_html\dmm\index.php on line 69Line 69 being:[code] if($letter != substr($row['name'],0,1) {[/code] Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120874 Share on other sites More sharing options...
trq Posted November 7, 2006 Share Posted November 7, 2006 You missing a ) Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120879 Share on other sites More sharing options...
wwfc_barmy_army Posted November 7, 2006 Author Share Posted November 7, 2006 Thanks guys ;D Had to change a few more things to get it to look right but it's spot on :) Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120880 Share on other sites More sharing options...
trq Posted November 7, 2006 Share Posted November 7, 2006 Good. Dont forget to mark your thread resolved. Link to comment https://forums.phpfreaks.com/topic/26389-resolved-alphabet-sorting/#findComment-120881 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.