par
Ryle » 07 juin 2008, 13:30
hum.. faudra dire à l'ami de ta fille de passer nous voir pour qu'on lui donne quelques cours d'optimisation... Il liste d'abord et tous les enregistrements de ta table juste pour en connaitre le nombre, puis va exécuter 26 requêtes pour les relire à nouveau initiale par initiale....
Ton code était bien mieux construit, le problème venait simplement du code html généré. En effet, tu es au milieux d'un tableau, du coup lorsque tu affiches l'initiale, il te faut créer une ligne et une cellule et pas le balancer comme ca entre deux balises <tr>

Le navigateur ne sachant absolument pas quoi faire ni où afficher ton initiale, il les liste au dessus du tableau, en espérant que ca te fera plaisir

Affiche ta lettre sur une ligne dédiée et ton problème sera normalement résolu
//afficher lettre
$titre0=substr($titre,0,1);
if ($titre0 > $lettre ) {
$lettre=$titre0;
echo '<tr><td colspan="5">'.$lettre.'</td></tr>'."\n";
}
echo "<tr width='600'>
<td>$titre</td>
<td>$format</td>
<td>$classification[$genre]</td>
<td>$id</td>
<td>$pret</td>
</tr>\n";
}
hum.. faudra dire à l'ami de ta fille de passer nous voir pour qu'on lui donne quelques cours d'optimisation... Il liste d'abord et tous les enregistrements de ta table juste pour en connaitre le nombre, puis va exécuter 26 requêtes pour les relire à nouveau initiale par initiale....
Ton code était bien mieux construit, le problème venait simplement du code html généré. En effet, tu es au milieux d'un tableau, du coup lorsque tu affiches l'initiale, il te faut créer une ligne et une cellule et pas le balancer comme ca entre deux balises <tr> :)
Le navigateur ne sachant absolument pas quoi faire ni où afficher ton initiale, il les liste au dessus du tableau, en espérant que ca te fera plaisir ;) Affiche ta lettre sur une ligne dédiée et ton problème sera normalement résolu :)
[php]//afficher lettre
$titre0=substr($titre,0,1);
if ($titre0 > $lettre ) {
$lettre=$titre0;
echo '<tr><td colspan="5">'.$lettre.'</td></tr>'."\n";
}
echo "<tr width='600'>
<td>$titre</td>
<td>$format</td>
<td>$classification[$genre]</td>
<td>$id</td>
<td>$pret</td>
</tr>\n";
}[/php]