来自DB,php和.htaccess的URL友好

时间:2015-01-23 21:47:06

标签: php mysql .htaccess mod-rewrite

可以帮到我吗? 我有一个网站网址:

http://www.example.com/episodio/ID

ID =数据库中的行号。

我想显示页面标题。

我是这样的:

.htaccess文件:

RewriteEngine on
RewriteRule ^episodio/(\w+)/?$ episodio.php?id=$1

php文件:

$sql = "SELECT * FROM "episodios" WHERE serie = ".$id." AND temporada = ".$i." ORDER BY "episodio" ASC";
            $result = $conn->query($sql);
                if ($result->num_rows > 0) {
                while($row = $result->fetch_assoc()) {
                    if ($row['episodio'] == 0) {
                        echo '<a href="episodio/'.$row["id"].'"><li><strong>Episodio doble:</strong> '.$row["nombre"].'<img src="http://www.example.net/img/play.png" class="img-play"></li></a>';
                    }else{
                        echo '<a href="episodio/'.$row["id"].'"><li><strong>Episodio '.$row['episodio'].':</strong> '.$row["nombre"].'<img src="http://www.example.net/img/play.png" class="img-play"></li></a>';
                    }
            ?>
            <?php } ?>

2 个答案:

答案 0 :(得分:1)

您是否在此代码之前的任何地方使用了$ _GET?

我的意思是,$_GET['id']

大多数PHP版本(自4 ...以来)只是因为它的名字而没有捕获var。

答案 1 :(得分:0)

我建议先从数据库中获取所有变量,然后打印出HTML(可能来自模板文件)。我们假设$ row不仅仅包含一个ID?也许是“títulodelepisodio”,也是?

if ($result->num_rows > 0) {
    $episodios = array();
    $x = 0;
    while($row = $result->fetch_assoc()) {
        $episodios[$x]['id'] = $row['id'];
        if ($x == 0) {
            $PageTitle = $row['title'];
        }
        $x++;
    }

然后你的模板可以使用$ PageTitle(来自第一集),你可以遍历$ episodios数组来构建其他剧集的链接。