|
Posted by "Richard Lynch" on 01/19/06 21:57
On Thu, January 19, 2006 12:19 pm, Jeffrey Pearson wrote:
> OK. I know I did this a LONG time ago but I don't remember how I did
> it. Thus, my post.
>
> I have a list of last names from a MySQL database. I need to display
> them grouped by the first letter of their last names and insert a
> separator on display. Similar to a phone book. So it looks like;
It might be slightly more clear to have MySQL get the initial letter,
rather than PHP...
//Also note use of 'upper' in case you have mixed case names.
// You presumably want all caps for alpha section names
$query = "select upper(substring(name, 0, 1)), name from names order
by name";
//next line is bad code, for simplicity of example:
$names = mysql_query($query) or die(mysql_error());
$last_letter = 'an extremely unlikely single character';
while (list($letter, $name) = mysql_fetch_row($names)){
if ($letter != $last_letter) echo $letter, "<hr />\n";
echo $name, "<br />\n";
}
As an exercise for the reader, you should consider lumping all non A-Z
characters together, rather than individually.
--
Like Music?
http://l-i-e.com/artists.htm
Navigation:
[Reply to this message]
|