Dynamiser son Site en PHP/MYSQL

Zedzdead -  
jojo673 Messages postés 235 Statut Membre -
Bonjour,

J'ai un site de video de musique ou chaque vidéos (son "titre", son "artiste", sa "description" son "lien") son liées à une base de donnée.
Pour changer de vidéo sur le site je doit modifier la ligne :

$sql = 'SELECT artiste,titre,description,lien WHERE id=5';

de ma page PHP.

J'aimerais pouvoir changer l'id directement sur le site en entrant l'adresse du site suivis de ID=5 (par exemple)

Du style : www.monsitedevideo.com/index.php?id=5

Comment est-ce possible ?

Merci d'avance ;D

3 réponses

  1. jojo673 Messages postés 235 Statut Membre 44
     
    Renseigne toi sur les variables GET en php ;)
    1
    1. Zedzdead
       
      Merci :)
      0
  2. Zedzdead
     
    Ah et c'est possible de faire en sorte qu'il declenche une autre requete si $id n'existe pas ? (enfin si l'utilisateur n'est pas aller sur www.monsitedevideo.com/index.php?id=5 mais sur www.monsitedevideo.com/index.php)

    Du style :

    <?php  
    // on se connecte à notre base  
    $base = mysql_connect ('***', '***', '***');  
    mysql_select_db ('***', $base) ;  
    
    // definit la variable "id" de l'url index.php?id=*  
    $id = $_GET['id'];   
    
    // lancement de la requete en fonction de l'url  
    if (empty($id))   
    	$req = mysql_query("SELECT artiste,titre,description,lien Videos ORDER BY id DESC LIMIT 0,1");
    	
    else
    
        $req = mysql_query("SELECT artiste,titre,description,lien FROM Videos WHERE id=$id");
    
    // on recupere le resultat sous forme d'un tableau  
    $data = mysql_fetch_array($req);  
    
    // on libère l'espace mémoire alloué pour cette interrogation de la base  
    mysql_free_result ($req);  
    
    mysql_close ();  
    ?>


    J'ai essayer avec if (empty($id)) mais ça me met des erreurs au niveau de
    "$data = mysql_fetch_array($req); " et "mysql_free_result ($req); "

    Merci d'avance :p
    0
  3. jojo673 Messages postés 235 Statut Membre 44
     
    Oui le problème se trouve ici :
    // definit la variable "id" de l'url index.php?id=*  
    $id = $_GET['id'];   

    Si l'utilisateur arrive sur index.php, la variable $_GET['id'] n'existe donc pas.
    pour ça on peut utiliser
    if(isset($_GET['id'])) {
    //Un id à été passé
    }
    else {
    //aucun id, on est donc sur index.php
    }
    

    Par contre je te conseil de sécuriser tes requêtes SQL avec par exemple htmlspecialchar() et trim() pour éviter des injections SQL ;).
    0