--- loncom/lonsql 2007/08/08 22:24:36 1.84 +++ loncom/lonsql 2007/08/25 19:52:11 1.86 @@ -3,7 +3,7 @@ # The LearningOnline Network # lonsql - LON TCP-MySQL-Server Daemon for handling database requests. # -# $Id: lonsql,v 1.84 2007/08/08 22:24:36 albertel Exp $ +# $Id: lonsql,v 1.86 2007/08/25 19:52:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -457,9 +457,13 @@ sub make_new_child { $query = "SELECT $fieldlist FROM allusers WHERE (domain = $quoted_dom AND "; if ($srchby eq 'lastfirst') { my ($fraglast,$fragfirst) = split(/,/,$srchterm); + $fragfirst =~ s/^\s+//; + $fraglast =~ s/\s+$//; if ($srchtype eq 'exact') { $query .= 'lastname = '.$dbh->quote($fraglast). ' AND firstname = '.$dbh->quote($fragfirst); + } elsif ($srchtype eq 'begins') { + $query .= 'lastname LIKE '.$dbh->quote($fraglast.'%').' AND firstname LIKE '.$dbh->quote($fragfirst.'%'); } else { $query .= 'lastname LIKE '.$dbh->quote('%'.$fraglast.'%').' AND firstname LIKE '.$dbh->quote('%'.$fragfirst.'%'); } @@ -470,6 +474,8 @@ sub make_new_child { ); if ($srchtype eq 'exact') { $query .= $srchfield{$srchby}.' = '.$dbh->quote($srchterm); + } elsif ($srchtype eq 'begins') { + $query .= $srchfield{$srchby}.' LIKE '.$dbh->quote($srchterm.'%'); } else { $query .= $srchfield{$srchby}.' LIKE '.$dbh->quote('%'.$srchterm.'%'); }