Ciao a tutti, ragazzi ho un problema davvero strano, premetto che è probabile che mi sfugge qualcosa... Ma io non riesco a venirne a capo...
In pratica io ho una lista di nomi in un DB mysql e li faccio stampare tutti su una pagina ma a capo di questa pagine ho un filtro per ogni lettera... Inizialmente vedo tutti i nomi, ma quando comincio a filtrarli per lettera SOLTANTO sulla A non vedo il primo nome!!!
Mi spiego meglio, fra i nomi che ho sul DB che iniziano per A ho Andrea, Antonio e Alessio.
Quando visualizzo tutto (cioè anche gli altri nomi che iniziano con altre lettere) riesco a vedere sia Andrea, sia Antonio e sia Andrea.
Ora, premo sul filtro nella lettera A e logicamente dovrebbe stampare in ordine alfabetico Alessio, Andrea, Antonio.... In realtà mi stampa soltanto Andrea, Antonio!!! Mentre con le altre lettere no, me li stampa tutti.
Vi posto il codice e spero sappiate aiutarmi perché io sto uscendo pazzo!!
Codice PHP:
$lettera=$_GET['letter'];
if(($page=="nomi")&&($act=="wiev")&&($letter==$lettera)) {
$query="SELECT * FROM nomi WHERE nome LIKE '$lettera%' ORDER BY nome ASC";
$estraz=mysql_query($query);
$num=mysql_numrows($estraz);
$i=0;
?>
<table align="center" border="0">
<tr>
<?
//creo le lettere in ASCII
for($lettera="65";$lettera<="90";$lettera++){
?>
<td align="center" valign="center" width="23" height="23" style="background-image: url('image/letter.png'); background-repeat: no-repeat;">
<a href="?page=nomi&act=wiev&letter=<? echo "&#";echo "$lettera";echo ";"; ?>">
<?
echo "&#";echo "$lettera";echo "; ";
?>
</a>
</td>
<?
}
?>
</tr>
</table>
<div align="center">
<?
while ($i<$num){
$cat_id=mysql_result($estraz,$i,"id");
$cat_n=mysql_result($estraz,$i,"nome");
echo $cat_n; echo "
";
$i++;
}
?>
</div>
<?
}
?>
Dove sta il problema???
Io più lo guardo e più penso che sia tutto a posto!!!