2015-04-25 2 views
-1

У меня есть две таблицы из mysql.php mysql fetch две таблицы

1, фото (URL_LINK)

2, видео (URL_LINK)

я хочу принести только 1 таблицу (URL видео), если обе таблицы не пустые .. Есть ли в любом случае ? Я использую ниже код:

<--photo --> 
    <?php  
$query_img = mysql_query("SELECT `url` FROM `photos_news` WHERE title='{$thumn_content['titles']}' LIMIT 0,1"); 
while($img = mysql_fetch_array($query_img)){ ?> 
<img src="<?php echo $img['url'];?>" class="img-responsive img-rounded"/> 
<?php }?> 


<!-- vdo --> 
<?php 
$query_vdo = mysql_query("SELECT `url` FROM `video_news` WHERE title='{$thumn_content['titles']}' LIMIT 0,1"); 
while($vdo = mysql_fetch_array($query_vdo)){ ?> 
<div class="embed-responsive embed-responsive-16by9"> 
    <iframe class="embed-responsive-item" src="<?php echo $vdo['url']?>?modestbranding=1&showinfo=0&fs=0"></iframe> 
</div> 

<?php }?> 

поблагодарить вас, сэр,

+0

использование IS NULL из MySQL для проверки пустых – Saty

ответ

0

Ну, вы можете сначала взять фотографии и видео, как вы это делали, но прежде чем называть H TML. Например, вы можете поместить свои результаты в $ photos и $ videos массивы.

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

<?php // part 1: collect the data 

$resource = mysql_query("SELECT `url` FROM `photos_news` WHERE title='{$thumn_content['titles']}' LIMIT 0,1"); 
$photos = array(); 

while($row = mysql_fetch_array($resource)) { 

    $photos[] = $row; 

} 

$resource = mysql_query("SELECT `url` FROM `video_news` WHERE title='{$thumn_content['titles']}' LIMIT 0,1"); 
$videos = array(); 

while($row = mysql_fetch_array($resource)) { 

    $videos[] = $row; 

} 

// medias contains only $videos if both tables has entries. 
$medias = $photos & $videos ? $videos : array_merge($photos, $videos); 

?> 
<?php // part 2: display the data ?> 
<?php foreach($medias as $media) : ?> 
    <img src="<?php echo $media['url'] ?>" class="img-responsive img-rounded"/> 
<?php endforeach ?> 
+0

Можете ли вы показать мне, пожалуйста, сэр? –

+0

Я добавил код. – maalls

+0

и немного очистили, чтобы удалить дублированный код. – maalls

0

Вы можете сделать это с внешними ключами и присоединиться Разногласия между двумя столами :)
вы должны также проверить о PDO, чтобы избежать SQL Injection в коде ,

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

TABLE video_news 
idVideo 
urlVideo 
titleVideo 

TABLE photo_news 
idPhoto 
urlPhoto 
titlePhoto 
idVideo = FOREIGN KEY 

и так ваше заявление, чтобы получить urlVideo было бы что-то вроде

SELECT urlVideo 
FROM video_news vn, photo_news pn 
WHERE vn.idVideo = pn.idVideo 

Таким образом, если нет фото, которое соответствует видео, оно не будет получено

+0

photos_news ====> (ID, URL, название) video_news ===> (ID, URL, название) –

+0

ли в photo_news принадлежит video_news? Если да, то вы должны создать таблицы как это (я редактировать свой пост) – xNeyte

+0

жаль, сэр, я еще одну таблицу, которая является основной таблицы, TABLE 'Post' И.Д., ** название **, новости ТАБЛИЦА photos_news ID, URL, ** название **, TABLE 'Post' идентификатор, ** название **, новости ТАБЛИЦА vdo_news ID URL-адрес ** название ** –