mysqli 根据行创建 link

mysqli create link based on row

我想创建一个基于行值的 link,并且 - 更重要的是,添加一个变量 - 如果行为空,则此文本...如果行有一些值,显示此... .

//我需要这个显示器:

// 如果 row season 为空,结果 link 必须是

// web.com/MOVIES/".$row["title_id"]."

// 如果行季节有一些值,那么 link 必须是://web.com/SERIES/".$row["title_id"]."/SEASON/ ".$row["season"]."/EPISODE/".$row["episode"]."

这是基本代码。

        <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "dbname";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "SELECT id, type, label, title_id, season, episode, approved FROM links order by id desc LIMIT 30 OFFSET 50";
    $result = $last_id = $conn->query($sql);


    if ($result->num_rows > 0)
     {
        echo "<table><tr><th>ID</th><th>Label</th><th>URL</th><th>Season</th><th>Episode</th><th>Approved</th></tr>";
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo "<tr><td>".$row["id"]."</td><td>".$row["label"]."</td>";
// --------------------------------------------------------------
            echo "<td><a href='http://web.com/(VARIABLES HERE)'>";
            echo " ".$row["title_id"]."</a></td>";
// --------------------------------------------------------------
    //I NEED TO GET THIS DISPLAY:
    // if row season is empty, the resulting link must be
    // web.com/MOVIES/".$row["title_id"]."
    // if row season have some value, then the link must be:
  //web.com/SERIES/".$row["title_id"]."/SEASON/".$row["season"]."/EPISODE/".$row["episode"]."
    // -----------------------------------------
            echo "<td>".$row["season"]."</td><td>".$row["episode"]."</td><td>".$row["approved"]."</td></tr>";
        }
        echo "</table>";
    } else {
        echo "0 results";
    }
    $conn->close();
    ?>

如评论中所述,您使用的是保留 MySQL 关键字:type。所以您的查询无法正常工作。您无法判断,因为您还没有设置任何检查来确保它正常工作。你可以像这样在它周围加上反引号:

SELECT id, `type`

更改数据库中密钥的名称(我推荐这种方法,类似于 titleType)。在您解决此问题之前,您的 PHP.

将无法正常工作

一旦你解决了这个问题,至于如何生成你的结果,你可以在你的 while 循环中做这样的事情(我假设你的意思是剧集值):

if (empty($row['episode'])) {
     echo 'web.com/MOVIES/'.$row["title_id"];
}
else {
     echo 'web.com/SERIES/'.$row['title_id'].'/SEASON/'.$row['season'].'/EPISODE/'.$row["episode"];
}

这是正确的完整代码。

<?php
$servername = "localhost";
$username = "WRITE YOUR DB username ";
$password = "WRITE YOUR DB password";
$dbname = "WRITE YOUR db name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, label, title_id, season, episode, approved FROM links order by id desc LIMIT 30 OFFSET 1";
$result = $last_id = $conn->query($sql);


if ($result->num_rows > 0)
 {
    echo "<table><tr><th>ID</th><th>Audio</th><th>URL</th><th>Temporada</th><th>Episodio</th><th>Aprobado</th></tr>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>".$row["id"]."</td><td>".$row["label"]."</td>";
        echo "<td><a href=";
        if (empty($row['episode'])) {
     echo '/peliculas-online/'.$row["title_id"];
    }
    else {
     echo '/series-online/'.$row['title_id'].'/seasons/'.$row['season'].'/episodes/'.$row["episode"];
        }
        echo ">".$row["title_id"]."</a></td>";
        echo "<td>".$row["season"]."</td><td>".$row["episode"]."</td><td>".$row["approved"]."</td></tr>";

    }
    echo "</table>";
} else {
    echo "0 results";
}
$conn->close();
?>