【问题标题】:URL friendly from DB, php and .htaccess来自 DB、php 和 .htaccess 的 URL 友好
【发布时间】:2015-03-23 01:02:37
【问题描述】:

可以帮助我吗? 我有一个网站网址,例如:

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 } ?>

【问题讨论】:

    标签: php mysql .htaccess mod-rewrite


    【解决方案1】:

    您在此代码之前的任何地方都在您的 ID 中使用了 $_GET?

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

    大多数 PHP 版本(从 4... 开始)不会仅仅因为它的名称而捕获 var。

    【讨论】:

    • 我必须先得到id?
    • 是的。您的问题可能出在WHERE serie = ".$id.",可能是 var 未存储。
    • 另外,在你的 sql 中使用变量要小心。由于您似乎正在使用 MySQLi,因此可能需要先使用 prepare
    • “一些 PHP 版本”?有没有 PHP 版本的?
    • 是的。 PHP 4 有一些版本可以接受这个......当然,没有人再使用它了,只需要确定:P
    【解决方案2】:

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

    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 数组来构造其他剧集的链接。

    【讨论】:

      猜你喜欢
      • 2017-04-12
      • 2012-06-07
      • 2011-05-09
      • 2015-12-16
      • 2022-11-29
      • 2012-08-21
      • 2013-02-03
      • 1970-01-01
      • 2013-08-31
      相关资源
      最近更新 更多