Afficher un contenu grace a l'ID bdd sql

Fermé
etoile9430 Messages postés 435 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 23 août 2017 - 26 oct. 2010 à 19:24
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 26 oct. 2010 à 20:38
Bonsoir
je suis sur un gros projet que je doit finir très rapidement
je doit faire une page vidéo sur un site que je suis entrain de créer.
j'ai commencer par créer une base de donné qui contiens 4 cases ( id ,nom, titre , code , date )

id
nom = le nom de l'image associe au code de la vidéo,
titre = le titre de la video
code = code de la video
date = c'est la date

j'ai créer une interface (formulaire) pour envoyer le titre et le code de la vidéo a ajouter.
jusqu'ici tous va bien, quand j'ajoute une vidéo je la retrouve dans ma base de donnée

maintenant, je travail sur la pour sur la quel je veut afficher la vidéo
j'ai mis des images qui correspondent aux vidéo avec un lien de ce genre:


<a href="../video/index.php?id=<?php echo"{$data["id"]}"; ?>"><img src="../images/clip/<?php echo"{$data["nom"]}"; ?>.png"></a>



et j'ai ajouter des condition en php comme ceci:


if(isset($_GET['id']) && $_GET['id'] == "1")
echo' code video de l'id 1 ';


elseif(isset($_GET['id']) && $_GET['id'] == "2")
echo' code video de l'id 2';

else
echo' une video par défaut';





Mon but c'est de pouvoir juste en cliquant sur une image d'afficher la vidéo associer dans la base de donnée
merci de votre aide

1 réponse

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
26 oct. 2010 à 20:38
Salut.

Pour commencer, sur la page où tu listes les vidéos, tu peux alléger tes echo en retirant « "{ » et « }" »

Pour récupérer la vidéo demandée par l'URL, il suffira de faire une requête SQL « WHERE id = $_GET['id'] ». N'oublie pas de compter les résultats avant de l'afficher : s'il y en a 0, c'est que la vidéo n'existe pas ; sinon, c'est OK.

Par exemple :
<?php
$pdo = new PDO('mysql:host=localhost;dbname=nomdelabase','root','');

if(isset($_GET['id'])) {
    // Si l'ID d'une vidéo est précisé

    // On vérifie si la vidéo existe
    $sql = 'SELECT COUNT(*) AS nb FROM videos WHERE id = '.(int) $_GET['id'];
    $req = $pdo->query($sql);
    $data = $req->fetch();

    if($data['nb'] > 0) {
        // Si la vidéo existe

        // On récupère les données de la vidéo
        $sql = 'SELECT * FROM videos WHERE id = '.(int) $_GET['id'];
        $req = $pdo->query($sql);
        $video = $req->fetch();

        // Affichage du résultat
        echo '<h3>'.htmlspecialchars($video['title']).'</h3>';
        echo $video['code'];
        echo '<p class="infos">Vidéo ajoutée le '.$video['date'].'</p>';
    } else {
        // Si la vidéo n'existe pas
        include 'error-404.php';
    }

} else {
    // Si aucune vidéo n'est demandée, on en affiche une au hasard

    // On récupère les données de la vidéo
    $sql = 'SELECT * FROM videos ORDER BY RAND() LIMIT 0,1';
    $req = $pdo->query($sql);
    $video = $req->fetch();

    // Affichage du résultat
    echo '<h3>'.htmlspecialchars($video['title']).'</h3>';
    echo $video['code'];
    echo '<p class="infos">Vidéo ajoutée le '.$video['date'].'</p>';
}
?>
0