Погода: -12°C
  • Приветствую всех!
    Проблема следующая:
    у меня есть НЕСКОЛЬКО строчек с одним NAME, несколько с другим, несколько с третим, и т.д. И мне нужно чтобы уже при выводе на экран все Info с одним name должны идти вот так:
    Name1
    1. Some info
    2. More info
    3. Less info

    Name2
    1.This info
    2.Something,,,
    3.May be more...

    Примерный дамп базы:
    "admin";"RIPN";"http://www.ripn.ru/";"Служба технической поддержки asdf";"asdf";"asdf"
    "admin";"Gmail";"http://www.gmail.com/";"account";"asdf";"asdf"
    "admin";"RIPN";"http://www.ripn.ru/";"asdf";"asdf";"asdf"
    RIPN и Gmail - это то самое "name", а все остальное - весьма обобщенное "инфо".

    Я надеюсь, что по дампу сможете помочь. Кстати, самая первая, основная индексация проходит по первому полю - хозяин инфо, но с этим все в порядке, их-то как раз сортировать не надо =)
    Заранее благодарю.

  • Не совсем понял.
    Вообщем у тебя есть табличка (tab1), примерно такой структуры: (NAME,INFO1,INFO2,INFO3,...)

    Значения в поле NAME не являются уникальными.

    Нужно для каждого NAME выбрать все INFOx.

    Тут можно по разному. Например:

    select NAME,INFO1,INFO2,INFO3 from tab1 order by NAME

    получишь список упорядоченный по NAME, затем при обработке результатов запроса (когда будешь его построчно проходить) нужно контроллировать изменение NAME.

    Или так:
    select distinct NAME from tab1

    и затем построчно проходим результат этого запроса, и для кажой строчки выполняем следующее:

    select NAME,INFO1,INFO2,INFO3 from tab1 where NAME=:my_name
    тут my_name - это текущий элемент NAME из первого запроса.

  • ну наверняка можно и компактнее... если правильно исходник увидеть... ну вернее просто увидеть... а с Вами в принципе претензий нет!

    Слово не воробей, с воза упало и топором не вырубишь...

  • $dbserver="www.microsoft.com или localhost, как пожелашь";
    $dbuser="пользователь";
    $dbpwd="пароль";
    $dbname="имя БД";
    $CONF["db_connid"] = mysql_connect($dbserver, $dbuser, $dbpwd);
    mysql_select_db($dbname, $CONF["db_connid"]);
    $res = mysql_query("select * from имятаблицы where ((locate('поисковаяфраза',гдеискатьсовпадения)=0) AND (locate('поисковаяфраза2',гдеискатьсовпадения2)>0))");

    $x1=0;
    while ($rw=mysql_fetch_array($res))
    {
    $a[$x1]=explode(' ',$rw[гдеискатьсовпадения]);
    $x1++;
    }


    притив корявый но должен быть рабочим ))

Записей на странице:

Перейти в форум

Модератор: