За последние 24 часа нас посетили 17535 программистов и 1680 роботов. Сейчас ищут 954 программиста ...

Запрос PDO. (Запрос в запросе)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Oleg_php, 20 фев 2012.

  1. Oleg_php

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

    С нами с:
    17 янв 2012
    Сообщения:
    80
    Симпатии:
    0
    Есть таблица 'top_menu' и таблица 'inside_menu'. Как сделать запрос чтобы когда шла выборка из таблицы 'top_menu' , также происходила выборка из таблицы 'inside_menu'. То есть если в 'inside_menu' есть id_topmenu = id таблицы 'top_menu', то происходила выборка.

    function menu(){
    // Глобальная переменная
    global $dbh;
    // Запрос
    $sql = "SELECT id,name,title,alt FROM top_menu";
    $stmt = $dbh->query($sql);
    // Вывод
    while($row = $stmt->fetch(PDO::FETCH_OBJ))
    {
    echo $row->name;
    /*Проверяем есть ли у раздела, под разделы*/
    Пытался сделать ещё одну выборку ничего не выдаёт.

    /* ************************************** */
    echo '</div>';
    }
    }

    Добавлено спустя 1 минуту 22 секунды:
    Вид как бы должен получиться такой
    Категория 1 Категория 2 Категория 3
    Под категория 1 Подкатегория 1 Под категория 3
     
  2. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    select * from top_menu as t1 left join inside_menu as t2 on t1.id = t2.id_topmenu and t2.id_topmenu = тек.ид
     
  3. Oleg_php

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

    С нами с:
    17 янв 2012
    Сообщения:
    80
    Симпатии:
    0
    Всё решено.

    $sql = "SELECT *
    FROM top_menu";
    $stmt = $dbh->query($sql);
    // Вывод
    while($row = $stmt->fetch(PDO::FETCH_OBJ))
    {
    echo '<div id="div_section">';
    echo '<li id="li_section_text_link">';
    echo '<a href="http://'.$_SERVER['SERVER_NAME'].'" id="section_text_link">';
    echo $row->name;
    echo '</a>';

    $sql2 = "SELECT *
    FROM inside_menu
    WHERE id_topmenu = '".$row->id."'";

    $stmt2 = $dbh->query($sql2);
    while($row2 = $stmt2->fetch(PDO::FETCH_OBJ))
    {
    echo $row2->title.'<br/>';
    }

    echo '</a>';
    echo '</li>';

    /* Проверяем есть ли у раздела, под разделы */

    /* ************************************** */
    echo '</div>';
    }