par
nelumbo » 10 déc. 2011, 00:07
Bhein en fait la galère n'est pas fini ^^ . Le script plante si j'ai plus de 38 entrées.
LIMIT 0,37 ca fonctionne et LIMIT 0,38 fait une page blanche.
J'ai commenté la dernier partie du script car les lettres sans entrées s'affichent quand même.
$res= mysql_query("SELECT id, titre FROM table WHERE valide='4' ORDER BY titre ASC", $db);
$tab = null;
$tabId = null;
while ($ligne = mysql_fetch_array($res)){
$tab [] = $ligne['titre'];
$tabId [] = $ligne['id'];
}
$tabLettre = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
$lettreAffiche = ''; // la dernière lettre affichée
// Equivalence de ta boucle while()
while( current($tab) !== false ){
$nom = current($tab);
$id = current($tabId);
// On affiche les catégories sautées
while( $lettreAffiche != $nom[0] ){
echo "<div class=\"index\">".current($tabLettre) . "</div>"; // affichage de la lettre sautée
$lettreAffiche = current($tabLettre); // on met à jour la dernière lettre affichée
next($tabLettre);
}
echo "<a href=\"".format($nom)."-".$id.".html\" title=\"$nom\">$nom </a><br />";
next($tab);
next($tabId);
}
/*On fini d'afficher les lettres qui n'ont aucun nom
while( current($tabLettre) !== false ){
echo current($tabLettre) . '<br />'; // affichage de la lettre sautée
next($tabLettre);
}
*/
Bhein en fait la galère n'est pas fini ^^ . Le script plante si j'ai plus de 38 entrées.
LIMIT 0,37 ca fonctionne et LIMIT 0,38 fait une page blanche.
J'ai commenté la dernier partie du script car les lettres sans entrées s'affichent quand même.
[php]$res= mysql_query("SELECT id, titre FROM table WHERE valide='4' ORDER BY titre ASC", $db);
$tab = null;
$tabId = null;
while ($ligne = mysql_fetch_array($res)){
$tab [] = $ligne['titre'];
$tabId [] = $ligne['id'];
}
$tabLettre = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
$lettreAffiche = ''; // la dernière lettre affichée
// Equivalence de ta boucle while()
while( current($tab) !== false ){
$nom = current($tab);
$id = current($tabId);
// On affiche les catégories sautées
while( $lettreAffiche != $nom[0] ){
echo "<div class=\"index\">".current($tabLettre) . "</div>"; // affichage de la lettre sautée
$lettreAffiche = current($tabLettre); // on met à jour la dernière lettre affichée
next($tabLettre);
}
echo "<a href=\"".format($nom)."-".$id.".html\" title=\"$nom\">$nom </a><br />";
next($tab);
next($tabId);
}
/*On fini d'afficher les lettres qui n'ont aucun nom
while( current($tabLettre) !== false ){
echo current($tabLettre) . '<br />'; // affichage de la lettre sautée
next($tabLettre);
}
*/[/php]