【问题标题】:mysqli display data based on row ID valuemysqli 根据行 ID 值显示数据
【发布时间】:2015-06-29 20:17:13
【问题描述】:

我需要在一行中显示一个文本,基于其他表中的一个值,我会解释......一步一步来非常清晰。

名为“links”的表有一行名为“title_id”

“links”中的这一行“title_id”在名为“id”的行中的其他名为“titles”的表中具有相同的值。

表格“标题”有另一行称为“标题” - 这是我需要以这种方式显示的内容...

a href= ..../>TABLE 链接行 title_id = 到表标题行 id -> 在此处显示表标题行标题(基于表链接中的行 title_id)

希望你能理解,结果一定是(a href=...>TEXT MOVIE TITLE)

这是基本代码,我需要更改(我已经评论了需要更改的部分):

    <?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, label, title_id, season, episode, approved FROM links WHERE approved = 1 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>";
            if (empty($row['episode'])) {
         echo "<a href=";
         echo '/peliculas-online/'.$row["title_id"];
         echo ">HERE MUST HAVE THE VALUE FROM TABLE titles -> row title - based on $row["title_id"] </a>";
// -------------------------
        }
        else {
        echo "<a href=";
         echo '/series-online/'.$row['title_id'].'/seasons/'.$row['season'].'/episodes/'.$row["episode"];
         echo ">HERE MUST HAVE THE VALUE FROM TABLE titles -> row title - based on $row["title_id"] </a>";
// -----------------------------------
            }
            echo "</td>";
            echo "<td>".$row["season"]."</td><td>".$row["episode"]."</td><td>".$row["approved"]."</td></tr>";


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

【问题讨论】:

    标签: php mysql database mysqli


    【解决方案1】:

    您只需稍微修改查询即可获取此信息。您可以像这样在这些 id 上加入标题:

    SELECT l.id, l.label, l.title_id, t.title, l.season, l.episode, l.approved 
    FROM links l
    JOIN titles t
    ON l.title_id = t.id
    WHERE approved = 1 
    ORDER by id DESC
    LIMIT 30 OFFSET 1
    

    然后你可以像以前一样调用你的变量;相同的查询将有row['title']

    了解更多关于MySQL Joins

    要在你的脚本中得到这个,只需替换这一行:

    echo ">HERE MUST HAVE THE VALUE FROM TABLE titles -> row title - based on $row["title_id"] </a>";
    

    用这个:

    echo '>'.$row['title'].'</a>';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-03
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多