2013-12-19 2 views
0

В настоящее время я хочу получить данные из другой таблицы с помощью моего внешнего ключа.Получите данные из таблицы с моим внешним ключом?

У меня уже установлен мой внешний ключ.

У меня есть настройки таблицы, как это:

CREATE TABLE IF NOT EXISTS `album` (
    `album_ID` int(11) NOT NULL AUTO_INCREMENT, 
    `album_navn` varchar(150) NOT NULL, 
    PRIMARY KEY (`album_ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ; 

-- 
-- 

INSERT INTO `album` (`album_ID`, `album_navn`) VALUES 
(1, 'Nytår'), 
(2, 'Berlin'), 
(3, 'Færøerne'), 
(5, 'TEST'); 


CREATE TABLE IF NOT EXISTS `billeder` (
    `billeder_ID` int(11) NOT NULL AUTO_INCREMENT, 
    `billeder_navn` varchar(150) NOT NULL, 
    `billeder_fotograf` varchar(150) NOT NULL, 
    `billeder_sti` varchar(150) NOT NULL, 
    `fk_album_ID` int(11) NOT NULL, 
    PRIMARY KEY (`billeder_ID`), 
    KEY `fk_album_ID` (`fk_album_ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=54 ; 

-- 
-- 

INSERT INTO `billeder` (`billeder_ID`, `billeder_navn`, `billeder_fotograf`, `billeder_sti`, `fk_album_ID`) VALUES 
(24, 'Vi tester4', 'Nytår', 'full_nytaar.jpg', 1), 
(25, '', 'Nytår', 'full_nytaar2.jpg', 1), 
(26, '', 'Nytår', 'full_nytaar4.jpg', 1), 

Где я хочу получить ALBUM_NAVN через мой fk_album_ID

так можно будет получить так:

$ строки [album_navn ]

Я попытался это сделать, но я потерял.

Заранее спасибо.

С уважением, Kristian

+0

читать о присоединиться –

ответ

0

Пожалуйста, попробуйте этот запрос

SELECT * FROM billeder LEFT JOIN album ON billeder.fk_album_ID = album.album_ID 
+0

Спасибо, человек, который работает, но. Мне нужно это узнать, вы бы посоветовали учебники для w3schools для изучения этого? Или есть другие/лучшие способы узнать это. Мне нужно 15 репутации, чтобы поддержать это;/ – kristian

+0

Потому что во мне нет смысла спрашивать снова и снова. – kristian

+0

Пожалуйста, обратитесь к этому изображению для изучения MUSQL JOINS [Ссылка на образец] (http://i.stack.imgur.com/fiFEO.jpg) –

0

Try:

select * from billeder left join album where billeder.fk_album_ID=album.album_ID 
+0

он хочет PHP-код n_n – pleasedontbelong

+0

Это то, что я попробовал .. $ запрос = «SELECT DISTINCT * FROM Billeder INNER JOIN альбом ON fk_album_ID = album_navn WHERE album_ID = $ id "; но я действительно борюсь за обучение JOINS и тому подобное. – kristian

+0

@kristian Вы можете показать результаты по этому запросу? –

0

Этот запрос приведет к желаемому результату.

SELECT b . * , a.album_navn FROM `billeder` b, album a WHERE b.fk_album_ID = a.album_ID 

Пожалуйста, попробуйте этот PHP-код. Это работает и проверяется. Вам нужно использовать соединение в запросе.

// CONNECT TO THE DATABASE 
$DB_NAME = 'test'; 
$DB_HOST = 'localhost'; 
$DB_USER = 'root'; 
$DB_PASS = ''; 

$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME); 

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

    //query 
$query = " SELECT b . * , a.album_navn FROM `billeder` b, album a 
    WHERE b.fk_album_ID = a.album_ID"; 
$result = $mysqli->query($query) or die($mysqli->error.__LINE__); 
    // show data 
if($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     echo ($row['album_navn']); 
    } 
} 
else { 
    echo 'No record found'; 
} 

    //close conn 
     mysqli_close($mysqli); 
Смежные вопросы