За последние 24 часа нас посетили 17750 программистов и 1700 роботов. Сейчас ищут 1238 программистов ...

Алфавитный порядок в цикле

Тема в разделе "PHP для новичков", создана пользователем Your, 27 дек 2011.

  1. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Всем Здравствуйте, доброго времени!
    Помогите пожалуйста, а то я недопониманию как такое сделать:

    Есть sql запрос на вывод данных из таблицы в while() цикл, нужно чтобы определяло допустим по 1-ой букве "А" к примеру
    и, чтобы все начинающие слова были в А и выводилась буква "А" в начали всех слов и так по буквам везде.

    А:
    А11
    A12
    A13

    B:
    B11
    B12
    B13

    Можно ли сделать это все как бы в одном цикле не применяя
    таблицы и не разбивая это как бы по группам и вывод каждой группы?

    Знающие пожалуйста подскажите, может быть есть еще какой нибудь вариант?
    Буду очень благодарен!!!
     
  2. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Как бы непонятный вопрос, поконкретнее, побольше смысла, поменьше "воды"
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Первую букву отрезаешь добавляешь в массив так $array[$bukva][]=$row['slovo'];
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    $z=array();
    while($a=$db->fetch_assoc($b))
    {
    $z[]=mb_substr($a['bukvs'],0,1,'utf-8');
    }


    чет я не пойму ничего(((


    немогу понять как список сам построить!?
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $z[mb_substr($a['bukvs'],0,1,'utf-8')][]=$a['bukvs'];
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Пожалуйста можешь пример показать с одной буквой как будет полный скрипт?
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $z=array();
    while($a=$db->fetch_assoc($b)) {
    $z[mb_substr($a['slovo'],0,1,'utf-8')][]=$a['slovo'];
    }
    var_dump($z);
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    igordata,
    Большое тебе человеческое спасибо, затея удалась!
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можешь перебрать потом $z в foreach и на каждый элемент натравить сортировку. или посчитать количество.

    если ты захочешь загнать больше параметров, то надо будет писать так: $z[mb_substr($a['slovo'],0,1,'utf-8')][]=array('slovo'=>$a['slovo'], 'date'=>$a['date'], 'perevod'=>$a['perevod']);

    и т.п.
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Я тут по всякому поделал вроде все хорошо получается!:)
    Так то все норм, просто, что то не до конца подумал)) с массивами такими, вспомнив сделал.
    Спасибо, что напомнил!)