Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql获取两个表_Php_Mysql_While Loop_Fetch - Fatal编程技术网

php mysql获取两个表

php mysql获取两个表,php,mysql,while-loop,fetch,Php,Mysql,While Loop,Fetch,我有两个mysql表 1、照片(url\U链接) 2、视频(url_链接) 如果两个表都不是空的,我只想获取一个表(视频url)。。还有别的办法吗?我正在使用下面的代码: <--photo --> <?php $query_img = mysql_query("SELECT `url` FROM `photos_news` WHERE title='{$thumn_content['titles']}' LIMIT 0,1"); while($img =

我有两个mysql表

1、照片(url\U链接)

2、视频(url_链接)

如果两个表都不是空的,我只想获取一个表(视频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 }?>


您可以使用外键并在两个表之间连接:)
您还应该检查PDO以避免代码中的sql注入。

如果你能告诉我们你的桌子是如何设计的,我们可以帮你更多

TABLE video_news
idVideo
urlVideo
titleVideo

TABLE photo_news
idPhoto
urlPhoto
titlePhoto
idVideo = FOREIGN KEY
所以你要得到URLVide的声明应该是

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

这样,如果没有与视频相对应的照片,它将无法获取它。

好吧,您可以像以前那样先获取照片和视频,但在编写HTML之前。例如,您可以将结果放入$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 ?>

使用mysql的为空检查空照片新闻===>(id、url、标题)视频新闻==>(id、url、标题)照片新闻是否属于视频新闻?如果是,你应该这样创建你的表格(我编辑我的帖子)对不起,先生,我还有一个表格是主表格,表格
post
id,标题,新闻表格照片\u新闻id,url,title,table
post
id,title,news table vdo\u新闻id url title我可以用作下面的代码
从视频中选择urlVideo\u新闻vn,photo_news pn WHERE vn.idVideo=pn.idVideo and title='{$thumn_content['titles']}'
是的,在更改数据库后,只需将“title”更改为“titlePhoto”或“titleVideo”,但您应该检查是否对您的语句使用PDO,否则您可能会受到sql注入的攻击,请告诉我,先生?并进行一些清理以删除重复的代码。哇,它工作得很好。谢谢你,先生。。