Re: usort e & é together
| From: | John Taylor-Johnston | Date: | Mon, 12 Jul 2004 03:15:59 +0000 |
| Subject: | Re: usort e & é together | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-190215@lists.php.net to get a copy of this message | ||
Sorry, doesn't work either.
http://compcanlit.usherbrooke.ca/new1/db/index.php?ausenquiry=e
does not contain those that start with é:
http://compcanlit.usherbrooke.ca/new1/db/index.php?ausenquiry=é
function usort_callback($a, $b) {
$a = str_replace(array('à', 'é'), array('a', 'e'),
strtolower($a));
$b = str_replace(array('à', 'é'), array('a', 'e'),
strtolower($b));
return (strcmp($a, $b));
}
usort($authors, 'usort_callback');
var_dump($authors);
I'll leave var_dump in there for verification.
<?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', 'E');
#
#usort($authors, create_function('$a,$b','
# $a = str_replace($first, $second, $a);
# $b = str_replace($first, $second, $b);
# return strcasecmp($a,$b);'));
function usort_callback($a, $b) {
$a = str_replace(array('à', 'é'), array('a', 'e'),
strtolower($a));
$b = str_replace(array('à', 'é'), array('a', 'e'),
strtolower($b));
return (strcmp($a, $b));
}
usort($authors, 'usort_callback');
var_dump($authors);
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";
?>