好的,所以我不确定我是否会以一种完全可怕的方式来做这件事。 但是,我基本上是想为我的房间伙伴创建一个电影数据库,以显示我们在服务器上的内容,并轻松检查出来。
我创建了一个数据库,它使用来自我们的plex服务器的xml提要自动更新,但有一小部分一直在困扰我。
我正在尝试为最近添加的内容创建一个滑块,但是当涉及到“摘要”时,电影会将摘要添加到我的“最近”表中,而电视剧集则没有(不确定为什么plex的xml会去像这样,但我试图解决它)。电视剧集在“剧集”表格中有摘要。
我想要做的是循环查看最近的表格,如果“最近” - >“Desc”字段为空,则从“剧集” - >“取代”取代内容,而不是通过节目标题进行匹配)
到目前为止,我对此循环的代码是:
<?php
$con=mysqli_connect("localhost","","","plex");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$recent = mysqli_query($con,"SELECT * FROM recent LIMIT 0, 6");
$shows = mysqli_query($con,"SELECT * FROM shows");
while($row = mysqli_fetch_array($recent))
{
$art = $row['Art'];
$title = $row['Title'];
if (empty($row['Desc'])){
/* STUCK HERE*/
}
else {
$summary = $row['Desc'];
}
echo "<img src='$art.jpg' alt='$summary' title='$title' />";
}
mysqli_close($con);
?>
我的桌子看起来像:
**********episodes********************** **********recent*************
**************************************** *****************************
*id**eptitle**showtitle**desc*thumb*art* *id**Title**Desc**thumb**art*
* ** ** ** * * * * ** ** ** ** *
我会尽力澄清任何不明确的事情(已经很晚了,你知道:P)
答案 0 :(得分:0)
如果您想通过单个查询执行此操作,您可以执行以下操作:
$recent = mysqli_query($con,"SELECT r.Art, r.Title, if(r.Desc is null or r.Desc = '', e.Desc, r.Desc) as `Desc` FROM recent r inner join episodes e on r.Title = e.showtitle LIMIT 0, 6");
然后你可以完全摆脱第二个选择语句,而你在while循环中的PHP代码将是:
while($row = mysqli_fetch_array($recent))
{
$art = $row['Art'];
$title = $row['Title'];
$summary = $row['Desc'];
echo "<img src='$art.jpg' alt='$summary' title='$title' />";
}