Ferrmolina
Ferrmolina

Reputation: 2771

URL friendly from DB, php and .htaccess

can help me? I've a site url like:

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

ID = row number from Database.

I want to display the page title.

I've this:

.htaccess file:

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

php file:

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

Upvotes: 0

Views: 225

Answers (2)

Dimas Pante
Dimas Pante

Reputation: 2521

You're using $_GET in your ID anywhere before this code?

I mean, $_GET['id'].

Most PHP versions (since 4...) doesn't catch the var just for its name.

Upvotes: 1

Kevin_Kinsey
Kevin_Kinsey

Reputation: 2300

I'd recommend getting all your variables from the DB first, and then printing out the HTML (perhaps from a template file). We assume that $row contains more than just an ID? Perhaps an "título del episodio", also?

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++;
    }

Then your template can use $PageTitle (from the first episode), and you can loop through the $episodios array to construct the links for the other episodes.

Upvotes: 0

Related Questions