Come da titolo, mi trovo davanti ad un problema.
Allora, ho una query in un foreach che viene fatta in base agli elementi di un array che è formato dalle lettere dell'alfabeto:
Codice PHP:
if (empty($_GET['id']) && empty($_GET['letter']))
{
$letters = 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');
foreach($letters as $letter)
{
$sql = 'SELECT * FROM `ip_bands` WHERE LEFT(name,1)=\'' . $letter . '\' ORDER BY name ASC';
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Couldn\'t retrieve band data', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$band_id = $row['id'];
$band_name = $row['name'];
$template->assign_block_vars('band_list', array(
'L_LIST_BAND_NAME' => $lang['Band_List_Ban_Name'],
'LETTER' => $letter,
'BAND_ID' => $band_id,
'BAND_NAME' => $band_name,
));
}
}
}
Il tutto funziona, mi stampa a video SOLO le lettere che sono presenti nel DB, come prima lettera del campo name.
Soltanto che mi stampa la lettera tante volte quanti sono i valori che hanno quella lettera:
Codice:
A
Arco
C
Cuore
H
Hotel
S
Strazio
S
Struzzo
mentre dovrebbe stampare:
Codice:
A
Arco
C
Cuore
H
Hotel
S
Strazio
Struzzo
Il codice epr stamapare a video è:
Codice HTML:
{IMG_TBL}<table class="forumline" width="100%" cellspacing="0" cellpadding="15px" border="0">
<th colspan="2">{PAGE_TITLE}</th>
<!-- BEGIN band_list -->
<tr><td class="row1 row-center" colspan="2"><a href="{FULL_SITE_PATH}band.php?letter={band_list.LETTER}">{band_list.LETTER}</a></td></tr>
<tr><td class="row1 row-left" colspan="2"><a href="{FULL_SITE_PATH}band.php?id={band_list.BAND_ID}">{band_list.BAND_NAME}</a></td></tr>
<!-- END band_list -->
</table>{IMG_TBR}
Come posso risolvere? Grazie ancora