2015-06-29 55 views
1

我需要顯示一行中的文本,基於來自其他表的值,我將解釋...一步一步地清除所有非常明顯的錯誤。mysqli基於行ID值顯示數據

稱爲「鏈接」表有一個名爲從「鏈接」

該行「的title_id」「title_id的」一排,有一個名爲名爲「ID」的行中的「標題」在其他表中的值相同。

表「標題」已呼籲其他行「稱號」 - 和TIS是wath我需要用這種方式來顯示...

A HREF = ... />錶鏈接行的title_id =到TABLE titles row id - > DISPLAY HERE表格標題行標題(根據表格標題行鏈接)</a ...

我希望你能理解,結果必須是(a href = ...>文字電影標題</a>)

這裏是基本代碼,wath我需要改變(我已經評論了部分wath需要改變):

<?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(); 
    ?> 

回答

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>';