Выборка из двух таблиц

Runapa

Постоялец
Регистрация
30 Окт 2010
Сообщения
63
Реакции
5
Есть две таблицы - одна links, вторая sub_page.

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

Запросы, которые я использую -

PHP:
//Выводим Кнопки
    $sql = "SELECT page_name, title_rus, title_eng FROM links ORDER BY position DESC";
    $links = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
//END
 
//выводим кнопки подкатегорий
$sql = "SELECT * FROM sub_pages WHERE cat = '$p' ORDER BY position DESC";
$result_category = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
 
 
//цикл
 
while ($row = mysql_fetch_assoc($links))
            {
...
}



Мне это нужно для того, чтобы ссылка из links подменялась на ссылку из sub_page при определённых условиях.
 
очень чоткое описание :)
такой же чоткий ответ:
при определенных условиях :) лучше бы использовать
Выборка из двух таблиц в MySQL. Оператор JOIN. => Для просмотра ссылки Войди или Зарегистрируйся
Справочное руководство по MySQL. Синтаксис оператора JOIN => Для просмотра ссылки Войди или Зарегистрируйся
 
Я эти мануалы уже читал.
По ним у меня ничего не вышло.
 
Для join`а должны быть данные по которым эти таблицы можно объеденить.

Покажи структуру таблиц

Код:
show columns from links;
show columns from sub_page;
 
e97cf7fd005c.png
8dbedbe8e572.png

Слева sub_pages
Поля page_name и cat имеют одинаковые значения
 
то есть page_name и cat одинаковые?
и можно еще некоторый пример данных и что вы хотите в итоге увидеть?
 
да одинаковые.

А пример такой -

запросом из линкс выводится меню

PHP:
if ($_SESSION['lang'] == 'rus')
        {
            while ($row = mysql_fetch_assoc($links))
            {
if($row['title_rus'] == '') continue;
$table .="<a class='link".(($p == $row['page_name'])?' current_link':'')."' href='index.php?p=".$row['page_name']."&lang=".$_SESSION['lang']."'>".$row["title_rus"]."</a>";   
            }
        echo $table;
        }

Я же хочу что-то типо такого

PHP:
if ($_SESSION['lang'] == 'rus')
        {
            while ($row = mysql_fetch_assoc($links))
            {
if($row['title_rus'] == '') continue;
 
if (redirect == 'yes')
 
  {
$table .="<a class='link".(($p == $row['page_name'])?' current_link':'')."' href='index.php?p=".$row['page_name']."&lang=".$_SESSION['lang']."'>".$row["title_rus"]."</a>";    }
else
  {
    $sub_table .="<a class='sub_link".(($_REQUEST['p']==$row['id'])?' current_link':'')."'' href='sub_page.php?p=".$row['id']."&lang=".$_SESSION['lang']."&cat=".$row["cat"]."'>".$row["cat_name_rus"]."</a>";   }
 
            }
        echo $table;
        }

Надо чтобы выводилось меню, но при параметре redirect = = yes на определенных пунктах меню - менялась ссылка. То есть вместо категории ссылка бы вела в подкатегорию.
 
а пример данных из таблиц еще можно?
 
всмысле ?
 
какие данные в таблицах хранятся?

Код:
select * from links;
select * from sub_page;
 
Назад
Сверху