Re: Grouping

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

 



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

-- 
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