Par exemple, sur mon site :
http://lechansonnier.ca/index.php?lettretitre=P
En cliquant sur la lettre P dans la catégorie classement par Titres, on obtient le cas suivant :
2 titres non classés au début, puis un long classement alphabétique correct, puis un fourre-tout pêle-mêle.
Voir les images.
Voici le code :
<?php // Tableaux d'affichage par titre et auteur
$strsql = '';
if (isset($_GET['lettretitre']))
{
$lettretitre = $_GET['lettretitre'];
if ($lettretitre==='0')
$strsql = "SELECT titre,auteur,code1,code2,code3,code4,code5 FROM mabase.matable WHERE left(titre,1) REGEXP '[0-9]' AND code1 NOT IN ('PAR','SUG','AVN') ORDER BY titre";
else
$strsql = "SELECT titre,auteur,code1,code2,code3,code4,code5 FROM mabase.matable WHERE left(titre,1) COLLATE latin1_swedish_ci ='$lettretitre' AND code1 NOT IN ('PAR','SUG','AVN') ORDER BY titre COLLATE latin1_swedish_ci ='$lettretitre' ";
}
elseif (isset($_GET['lettreauteur']))
{
$lettreauteur = $_GET['lettreauteur'];
if ($lettreauteur==='0')
$strsql = "SELECT titre,auteur,code1,code2,code3,code4,code5 FROM mabase.matable WHERE left(auteur,1) REGEXP '[0-9]' AND code1 NOT IN ('PAR','SUG','AVN') ORDER BY auteur,titre";
else
$strsql = "SELECT titre,auteur,code1,code2,code3,code4,code5 FROM mabase.matable WHERE left(auteur,1) COLLATE latin1_swedish_ci ='$lettreauteur' AND code1 NOT IN ('PAR','SUG','AVN') ORDER BY auteur,titre COLLATE latin1_swedish_ci ='$lettreauteur' ";
}
if ($strsql != '')
{
$db = mysql_connect("localhost","mabase-matable","monmotdepasse");
$resultat = mysql_query($strsql,$db);
echo '<p id="attention">Attention de bien noter le site où se trouve la partition recherchée!</p>';
echo '<br>';
echo '<p><font size="+1" Face="Arial">Cliquez sur le code adjacent au titre désiré qui correspond au site où se trouve la partition que vous voulez. Il vous suffira de la chercher ou de la commander sur ce site.</font></p>';
echo '<br>';
echo '<center>'.'<table width="819" cellpadding="2" cellspacing="0" border="0" bordercolor="#99FFFF" bgcolor="#002255">'."\n";
echo '<tr><td>CHA = Site du Chansonnier</td>';
echo '<td>EXG = Site d\'Extraguitare</td></tr>'."\n";
echo '<tr><td>TRK = Site de Trankyl</td>';
echo '<td>PIA = Site de Bernard Pialat</td></tr>'."\n";
echo '</table>'.'</center>'."\n";
echo '<center>'."\t\t".'<table bgcolor="#002255" width="819" cellpadding="0" cellspacing="0" border="1">'."\n";
echo "\t\t\t".'<tr><th><font SIZE="+1" face="ARIAL"><b>Auteur</b></th><th><font SIZE="+1" face="ARIAL"><b>Titre</th><th><font SIZE="+1" face="ARIAL"><b>Site 1</th><th><font SIZE="+1" face="ARIAL"><b>Site 2</th><th><font SIZE="+1" face="ARIAL"><b>Site 3</th><th><font SIZE="+1" face="ARIAL"><b>Site 4</th><th><font SIZE="+1" face="ARIAL"><b>Site 5</th></tr>'."\n";
$urlSite = array(
'CHA'=>'http://lechansonnier.ca/collaborateur.php',
'EXG'=>'http://extraguitare.fr.st/',
'TRK'=>'http://membres.lycos.fr/trankyl/',
'PIA'=>'http://perso.wanadoo.fr/bernard.pialat/'
);
while ( ($obj = mysql_fetch_object($resultat)) )
{
echo '<tr class="ligne">'; // d_but de la rang_e
echo '<td class="auteur">' . $obj->auteur . '</td>';
echo '<td class="titre">' . $obj->titre . '</td>';
if ( isset($urlSite[$obj->code1]) )
{
echo '<td class="site"><a href="'.$urlSite[$obj->code1].'" style=" text-decoration:none" target="_blank">'.$obj->code1.'</a></td>';
}
if ( isset($urlSite[$obj->code2]) )
{
echo '<td class="site"><a href="'.$urlSite[$obj->code2].'" style=" text-decoration:none" target="_blank">'.$obj->code2.'</a></td>';
}
if ( isset($urlSite[$obj->code3]) )
{
echo '<td class="site"><a href="'.$urlSite[$obj->code3].'" style=" text-decoration:none" target="_blank">'.$obj->code3.'</a></td>';
}
if ( isset($urlSite[$obj->code4]) )
{
echo '<td class="site"><a href="'.$urlSite[$obj->code4].'" style=" text-decoration:none" target="_blank">'.$obj->code4.'</a></td>';
}
if ( isset($urlSite[$obj->code5]) )
{
echo '<td class="site"><a href="'.$urlSite[$obj->code5].'" style=" text-decoration:none" target="_blank">'.$obj->code5.'</a></td>';
}
echo '</tr>'."\n";
}
echo "\t\t".'</table>'.'</center>'."\n";
mysql_close($db);
}
?>
Alors, que se pase-t-il ?