Задача для кого то стара как мир но я только начинаю, так что сори...У меня есть таблица products и две интересующие меня колонки fio и url, мне необходимо вывести алфавит по которому я буду кликать и он будет выводить список всех fio у которого первая буква соответствует алфавиту. PHP: $rez=mysql_query("SELECT LEFT(fio,1) as letter, fio,url FROM products ORDER BY fio ASC"); $lastLetter=''; while ($v=mysql_fetch_assoc($rez)) { if ($lastLetter!=$v[letter]) { echo "<hr><b>$v[letter]</b>"; $lastLetter=$v[letter]; } echo "<br>$v[fio],<a href=".$v[url].">Сертификат</a>"; } Я научился выводить списком всех, но мне бы хотелось чтобы только был алфавит и после нажатия выводился результат и так по каждому. может спойлер использовать но слишком много данных по вертикали большой объем и не красиво А Аманжолов Владислав Виктаровие,СЕРтивикат Аманжолов Владислав Викторовие,СЕРтивикат Аманжолов Владислав Викторовиу,СЕРтивикат Б Борис Евгенивич,СЕРтивикат Борис Евгенивич,СЕРтивикат Борис Евгенивич,СЕРтивикат
А для чего груперовать по айди, я что то не пойму. вроде как я понел отсортировал и хватит.... Вот решил пока оставить так, если что то не так то подскажите. что исправить... PHP: <?php @$t=$_REQUEST['t']; ?> <a href="?section=alf&t=<?php echo urlencode("А"); ?>">А</a> <a href="?section=alf&t=<?php echo urlencode("Б"); ?>">Б</a> <a href="?section=alf&t=<?php echo urlencode("В"); ?>">В</a> <a href="?section=alf&t=<?php echo urlencode("Г"); ?>">Г</a> <a href="?section=alf&t=<?php echo urlencode("Д"); ?>">Д</a> <a href="?section=alf&t=<?php echo urlencode("Е"); ?>">Е</a> <a href="?section=alf&t=<?php echo urlencode("Ё"); ?>">Ё</a> <a href="?section=alf&t=<?php echo urlencode("Ж"); ?>">Ж</a> <a href="?section=alf&t=<?php echo urlencode("З"); ?>">З</a> <a href="?section=alf&t=<?php echo urlencode("И"); ?>">И</a> <a href="?section=alf&t=<?php echo urlencode("Й"); ?>">Й</a> <a href="?section=alf&t=<?php echo urlencode("К"); ?>">К</a> <a href="?section=alf&t=<?php echo urlencode("Л"); ?>">Л</a> <a href="?section=alf&t=<?php echo urlencode("М"); ?>">М</a> <a href="?section=alf&t=<?php echo urlencode("Н"); ?>">Н</a> <a href="?section=alf&t=<?php echo urlencode("О"); ?>">О</a> <a href="?section=alf&t=<?php echo urlencode("П"); ?>">П</a> <a href="?section=alf&t=<?php echo urlencode("Р"); ?>">Р</a> <a href="?section=alf&t=<?php echo urlencode("С"); ?>">С</a> <a href="?section=alf&t=<?php echo urlencode("Т"); ?>">Т</a> <a href="?section=alf&t=<?php echo urlencode("У"); ?>">У</a> <a href="?section=alf&t=<?php echo urlencode("Ф"); ?>">Ф</a> <a href="?section=alf&t=<?php echo urlencode("Х"); ?>">Х</a> <a href="?section=alf&t=<?php echo urlencode("Ц"); ?>">Ц</a> <a href="?section=alf&t=<?php echo urlencode("Ч"); ?>">Ч</a> <a href="?section=alf&t=<?php echo urlencode("Ш"); ?>">Ш</a> <a href="?section=alf&t=<?php echo urlencode("Щ"); ?>">Щ</a> <a href="?section=alf&t=<?php echo urlencode("Ъ"); ?>">Ъ</a> <a href="?section=alf&t=<?php echo urlencode("Ы"); ?>">Ы</a> <a href="?section=alf&t=<?php echo urlencode("Э"); ?>">Э</a> <a href="?section=alf&t=<?php echo urlencode("Ю"); ?>">Ю</a> <a href="?section=alf&t=<?php echo urlencode("Я"); ?>">Я</a> <a href="?section=alf&t=<?php echo urlencode("Ң"); ?>">Ң</a> <a href="?section=alf&t=<?php echo urlencode("Һ"); ?>">Һ</a> <a href="?section=alf&t=<?php echo urlencode("Ә"); ?>">Ә</a> <a href="?section=alf&t=<?php echo urlencode("І"); ?>">І</a> <a href="?section=alf&t=<?php echo urlencode("Қ"); ?>">Қ</a> <a href="?section=alf&t=<?php echo urlencode("Ө"); ?>">Ө</a> <a href="?section=alf&t=<?php echo urlencode("Ұ"); ?>">Ұ</a> <a href="?section=alf&t=<?php echo urlencode("Ү"); ?>">Ү</a> <a href="?section=alf&t=<?php echo urlencode("Ғ"); ?>">Ғ</a> <?php require_once dirname(__FILE__).'/bd.php'; $esc_t = mysql_real_escape_string(addcslashes($t, '_%\\')); echo "$esc_t" ; $qry = "SELECT fio, url FROM products WHERE fio LIKE '{$esc_t}%'"; $result = mysql_query($qry); while ($qry = mysql_fetch_assoc($result)) { echo "$qry[fio],<a href=".$qry[url].">СЕРтивикат</a>"; print '<br><br>'; } ?>
Не совсем то я подразумевал. Во-первых, эту портянку в 40+строк выводящую однородные данные - можно вывести парой строчек с применением циклов. Во-вторых, речь шла про алгоритм из первого листинга. Ты там на стороне пхп уже "группируешь" по первой букве фамилии пользователя. Я предложил дополнительно "группировать" по айдишнику пользователя. Первый профит: если у одного пользователя несколько записей - они будут сгруппированы и перед ним будет фио написано один раз. Второй профит улучшает первый профит: если есть два пользователя с одинаковым фио - они не пересекутся в выводе.