Очень простой запрос, но как?)

Discussion in 'PHP' started by dimash, 7 Feb 2010.

  1. dimash

    dimash Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    78
    Likes Received:
    2
    Reputations:
    0
    Есть таблица t1. В ней записи
    Code:
    Динамо
    Шахтар
    Таврия
    Металлург Донецк
    Оболонь
    Есть таблица t2. В этой таблице t2 множество записей и каждая запись соответствует одной конкретной записи из таблица t1 (либо Динамо, либо Шахтар, либо Таврия, либо Металлург Донецк, либо Оболонь). Связь по id.

    Как должен выглядеть запрос, который выводит по 3 последних по времени записи из таблицы t2 для каждого из значений таблицы t1? Результатом, очевидно, должен быть двумерный массив.

    В итоге картина:
    Code:
    Динамо
    1. ...
    2. ...
    3. ...
    Шахтар
    1. ...
    2. ...
    3. ...
    Таврия
    1. ...
    2. ...
    3. ...
     
    #1 dimash, 7 Feb 2010
    Last edited: 7 Feb 2010
  2. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    у тебя какая БД?
    тебе придется склеивать результат в строку и потом парсить

    и нисколько это не простой запрос!
     
  3. dimash

    dimash Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    78
    Likes Received:
    2
    Reputations:
    0
    MySQL.
     
  4. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    В таблице t2 есть указание на то что эта запись относится к таблице t1 ?

    пример t1

    id name
    1 Бавария
    2 Швецария


    t2

    id name parent
    1 ббла 1
    2 олол 2

    если есть,то запрос,цикл и все дела
     
  5. CPU0

    CPU0 Member

    Joined:
    5 Jan 2010
    Messages:
    49
    Likes Received:
    15
    Reputations:
    0
    SELECT * FROM t2 INNER JOIN t1 ON t2.id=t1.id WHERE id IN (SELECT id FROM t1) ORDER BY id DESC LIMIT 3

    попробуй, а так бы лучше загурзил дамп ДБ

    p.s. не поучится так -
    в лучшем случае получится так
     
    #5 CPU0, 7 Feb 2010
    Last edited: 7 Feb 2010
  6. dimash

    dimash Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    78
    Likes Received:
    2
    Reputations:
    0
    ОК. Даю полностью вид таблицы.

    [​IMG]

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

    Опережаю ваш вопрос. "первая таблица - это что? что с ней делать"
    Это секции, когда ты нажимаешь на секцию политика, там выводятся последние три события партий.
     
  7. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    PHP:
    $res mysql_query("SELECT * FROM t1");

     while(list(
    $id,$title)=mysql_fetch_row($res)) { // В этом цикле получаем список секций
    echo "$title";
     
    $res_2 mysql_query("SELECT * FROM t2 WHERE id_sections ='$id'");
       while(list(
    $id_s,$title_s)=mysql_fetch_row($res)) {  // в этом цикле список категорий для данной секции
      
    echo "<a href>$title_s</a>";
       }
     
     }

    для вывода новостей тоже самое. Только для вывода 3 напиши LIMIT 3

    Может это не самый рациональный вариант, но он позволит придать такой вид как хочет автор.
     
  8. dimash

    dimash Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    78
    Likes Received:
    2
    Reputations:
    0
    Читаем внимательно вопрос. Где написано что надо вывести категории и секции? Нигде не написано.

    Повторюсь.
    Вывести нужно через "Enter" по три последних события каждой команды.
     
  9. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Смотрим внимательно код.
    Меняем названия табоиц и вуаля! Я тебе подал идею,а не реализацию т.к делай сам.
    А с таким гонором я те вообще помогать не буду
     
  10. dimash

    dimash Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    78
    Likes Received:
    2
    Reputations:
    0
    Я без гонора. Когда спрашивают определенный вопрос, то подразумевают ответ на него. Зачем ответ на то, что уже сделано. Вот так именно лучше, конечно, не помогать.