http://compcanlit.usherbrooke.ca/new1/db/index.php?ausenquiry=e http://compcanlit.usherbrooke.ca/new1/db/index.php?ausenquiry=é
It still sorts "é" and "e" separately, but without a parse error: $first = array('à', 'é'); $second = array('a', 'e'); usort($authors, create_function('$a,$b',' $a = str_replace($first, $second, $a); $b = str_replace($first, $second, $b); return strcasecmp($a,$b);')); Back to the drawing board? I tried this too: $first = array('à', 'é', 'À', 'É'); $second = array('a', 'e', 'A', 'É'); Ideas? Thanks, John > Parse error on line 40: > > 39> usort($authors, create_function('$a,$b',' > 40> $a = str_replace(array('é', 'à'), array('e', 'a'), $a); > 41> $b = str_replace(array('é', 'à'), array('e', 'a'), $b); > 42> return strcasecmp($a,$b);')); <?php if(!$ausenquiry) $ausenquiry ="a"; echo "<tr><td> Note: A star, \"*\", indicates that the author uses a pseudonym.<br>Noter : Une étoile, \"*\", indique que cet auteur est connu par un nom de plume. <table border=\"0\" cellspacing=\"0\" cellpadding=\"5\">\n"; ###################################################### $myconnection = mysql_connect($server,$user,$pass); mysql_select_db($db,$myconnection); $news = mysql_query("select id,AUS from $table"); ###################################################### $authors = array(); $author_list = array(); while ($mydata = mysql_fetch_object($news)) { $mydata->AUS = str_replace(" ;", ";", $mydata->AUS); $mydata->AUS = str_replace("; ", ";", $mydata->AUS); $tempauthors = explode(";", $mydata->AUS); foreach ($tempauthors as $singleauthor) { if ($singleauthor <> "") { array_push($authors, $singleauthor); $author_list[$singleauthor][] = $mydata->id; // use an associative array... } } } #sort($authors); #usort($authors, create_function('$a,$b','return strcasecmp($a,$b);')); #usort($authors, create_function('$a,$b',' # $a = str_replace(array('é', 'à'), array('e', 'a'), $a); # $b = str_replace(array('é', 'à'), array('e', 'a'), $b); # return strcasecmp($a,$b);')); $first = array('à', 'é', 'À', 'É'); $second = array('a', 'e', 'A', 'É'); usort($authors, create_function('$a,$b',' $a = str_replace($first, $second, $a); $b = str_replace($first, $second, $b); return strcasecmp($a,$b);')); foreach (array_count_values ($authors) as $author=>$count) { if((strtolower(substr($author, 0, 1)) == $ausenquiry)) { echo "<tr bgcolor=\"#D3DCE3\">"; echo "<th align=\"left\" colspan=\"2\"><a href=\"".$SCRIPT_NAME."?searchenquiry=".urlencode($author)."\">".$author."</a> <small>[<--Search Entire Database]</small></th>"; echo "<th align=\"right\" width=\"5%\" nowrap>(".$count." "; if($count > 1) {echo "records found/trouvés)";} else{echo "record found/trouvé)";} echo"</th></tr>\n"; echo "<tr bgcolor=\"#F5F5F5\"><td> </td>"; echo "<td align=\"left\">"; $temp = ""; foreach ($author_list[$author] as $ausid) { $temp .= "<a target=\"printwindow\" href=\"print.php?id=".urlencode($ausid)."\">".$ausid."</a>, "; } $temp = substr("$temp", 0, -2); echo "$temp</td>"; echo "<td> </td>"; echo "</tr>\n"; } } mysql_close($myconnection); ###################################################### echo "</table> </td> </tr>\n"; ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php