Частый посетитель
Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009
Помог: 2 раз(а)
|
делаю списки по алфавиту в котором должны отображаться города. Есть следующий код
PHP:
скопировать код в буфер обмена
<?PHP $SqlCity = $db->query("SELECT * FROM ".PREFIX."_city ORDER BY name"); $result = $db->super_query("SELECT COUNT(*) as count FROM ".PREFIX."_city"); if($result['count'] > 0) { $alphabet = array('А','Б','В','Г','Д','Е','Ё','Ж','З','И','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','ъ','Ы','Ь','Э','Ю','Я'); foreach($alphabet as $val) { for($i = 0; $i < $result['count']; $i++) { $cityRow = $db->get_row($SqlCity); $count = $i + 1; //выставляем счетчик, который будет показывать нам в какой из 5-х столбцов выводить информацию $t = mb_substr($cityRow['name'], 0,1, 'UTF-8'); if($count % 5 == 1 AND $val == $t) { $a .= '<ul class="letter_list"><li>'.$cityRow['name'].'</li></ul>'; } else if($count % 5 == 2 AND $val == $t) { $a .= '<ul class="letter_list"><li>'.$cityRow['name'].'</li></ul>'; } else if($count % 5 == 3 AND $val == $t) { $a .= '<ul class="letter_list"><li>'.$cityRow['name'].'</li></ul>'; } else if($count % 5 == 4 AND $val == $t) { $a .= '<ul class="letter_list"><li>'.$cityRow['name'].'</li></ul>'; } else if($count % 5 == 0 AND $val == $t) { $a .= '<ul class="letter_list"><li>'.$cityRow['name'].'</li></ul>'; } } if($val == 'А') { echo '<ul class="ul_group"><li class="li_subgroup"><span class="letter">'.$val.'</span>'.$a.'</li></ul>'; } if($val == 'Б') { echo '<ul class="ul_group"><li class="li_subgroup"><span class="letter">'.$val.'</span>'.$a.'</li></ul>'; } } } ?>
в результате отображается два столбца "А" и "Б" а вот содержимое их с одинаковыми городами. Почему так получается не могу понять... помогите пожалуйста...
Если не понятно что в результате должно быть, прикрепляю скрин, того что надо получить. Прикреплено изображение (Нажмите для увеличения)
|