Gestion de tableau dynamique

cs_minicooper Messages postés 10 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mars 2008 - 28 nov. 2006 à 18:07
cs_minicooper Messages postés 10 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mars 2008 - 29 nov. 2006 à 16:06
Bonjour,

Je fais une gestion de dvdtèque avec une base de donnée.
j'affiche les résuktat dans un tableau
Sous cette forme : 
image    titre    genre    annee    nom realisateur     prenomréalisateur    voir

ce que je ceux :
- je voudrais que lorsque l'on clique sur "voir", on ouvre une nouvelle page qui est la fiche du film.
- cette page doit porter le meme non quelque soit le "voir" que l'on clique dans le tableau (detail.php)

ce que je ne vexu pas :
- avoir une page distinct par film, car je ne sait pas combien de film il va y avoir dans la dvdteque.

MA question est la suivante

Comment je peut savoir sur quelle ligne du tableau je clique et comment transmettre l'identifiant du film à la page (detail.php).

avez vous une idée??

merci

ps : je vous met le code de l'affichage du tableau
peut etre que j'utilise aps la bonne methode, je devrais peut etre stocker les resultat dans un tableau PHP et apres afficher les resultat 15 par 15 par exemple dans un tableau html fixe. qu'en pensez vous?

le code:
//connexion à la base
if(mysql_select_db("gestion_film"))
       {
        $sql = mysql_query('SELECT `titre`,`genre`,`annee`,`image`,`prenomrealisateur`,`nomrealisateur`,`idfilm` FROM `film` WHERE 1 ORDER BY `genre` ASC');
        if($sql==TRUE)
        {
       $tab = array();  //tableau contenant les idfilm
       $i=0;
       while($ligne=mysql_fetch_array($sql))
       {
         print("<TR>");
          //on stocke les valeur dans une autre variable pour favoriser l'affichage
          $titre=$ligne[0];
          switch($ligne[1])
          {
           case 1 : $genre="Animation";break;
           case 2 : $genre="Action-Aventure";break;
           case 3 : $genre="Biographie";break;
           case 4 : $genre="Comédie";break;
           case 5 : $genre="Comédie Dramatique";break;
           case 6 : $genre="Comédie Musicale";break;
           case 7 : $genre="Dessins Animés";break;
           case 8 : $genre="Documentaire";break;
           case 9 : $genre="Drame";break;
           case 10 : $genre="Erotique";break;
           case 11 : $genre="Fantastique";break;
           case 12 : $genre="Guerre";break;
           case 13 : $genre="Historique";break;
           case 14 : $genre="Horreur-Epouvante";break;
           case 15 : $genre="Policier-Thriller";break;
           case 16 : $genre="Romance";break;
           case 17 : $genre="Science-Fictions";break;
           case 18 : $genre="Western";break;
          }
          $tab[$i]=$ligne[6];
          $annee=$ligne[2];
          $image=$ligne[3];
          //$image = substr($image,0,-4);//enléve les 4 derniers caractères ( ".JPG" )
          //$image.='.png';
          $image="../images/affiche/".$image;
          //echo $image;
          $pre_reali=$ligne[4];
          $nom_reali=$ligne[5];
          
          print('<td align="center">');
          print('');
          print('</td>');
          print('<td align="center">');print(' '.$titre.' ');print('</td>');
          print('<td align ="center">');print(''.$genre.'');print('</td>');
          print('<td align= "center">');print(' '.$annee.' ');print('</td>');
          print('<td align ="center">');print(''.$pre_reali.'');print('</td>');
          print('<td align= "center">');print(' '.$nom_reali.' ');print('</td>');
          print("<TD bgColor =#FF8040></TD>");
          //le bouton voir
          print("<TD align= "left" class='Menu0' onmouseover="javascript:this.className='Menu1'"                onclick="javascript:location.href='detail.php'"                 onmouseout="javascript:this.className='Menu0'">&nbsp; Voir </TD>");
          print("<TD bgColor =#FF8040></TD>");
          print('</td>');
          
         print("</tr>");
         
          
       }
        }         
     }
     else
     {
        print("erreur lors de la connection à la base");
     }
     mysql_close($ide);

2 réponses

Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
28 nov. 2006 à 18:15
Premier élément de réponse :

Pour ne pas modifier le nom de la page que tu appelles pour voir la description des films, il suffit de passer les variables par méthode POST dans un formulaire. Et pour voir de quel film du veux afficher la description, il faut faire un formulaire, pour chaque film, avec en champ caché idfilm, à partir duquel tu pourras selectionner la description sur l'autre page.
0
cs_minicooper Messages postés 10 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 20 mars 2008
29 nov. 2006 à 16:06
MErci, mauis j'ai trouver le solution,

 - tout d'abord, j'ai mis un identifiant par ligne de tableau
 - puis j'ai créer une page et lors de l'ouverture de cettte page je passe la valeur de l'identifiant du film dans l'URL
 - je peux ensuite recupédans la nouvelle page l'identifiant et afficher en détail le film.
 
JE vous remet la source ça sera peut etre plus parlant.

//connexion à la base de données
    $ide= mysql_connect("localhost","minicalement","253qep");
    if($ide==TRUE)
    {
       if(mysql_select_db("gestion_film"))
       {
        $sql = mysql_query('SELECT `titre`,`genre`,`annee`,`image`,`prenomrealisateur`,`nomrealisateur`,`idfilm` FROM `film` WHERE 1 ORDER BY `genre` ASC');
        if($sql==TRUE)
        {
       $tab = array();
       $i=0;
       while($ligne=mysql_fetch_array($sql))
       {
         print('<TR id='.$i.'>'); //on donne un identifiant à la ligne pour savoir par la suite où l'on clique et afficher le bon film
          //on stocke les valeur dans une autre variable pour favoriser l'affichage
          $titre=$ligne[0];
          switch($ligne[1])
          {
           case 1 : $genre="Animation";break;
           case 2 : $genre="Action-Aventure";break;
           case 3 : $genre="Biographie";break;
           case 4 : $genre="Comédie";break;
           case 5 : $genre="Comédie Dramatique";break;
           case 6 : $genre="Comédie Musicale";break;
           case 7 : $genre="Dessins Animés";break;
           case 8 : $genre="Documentaire";break;
           case 9 : $genre="Drame";break;
           case 10 : $genre="Erotique";break;
           case 11 : $genre="Fantastique";break;
           case 12 : $genre="Guerre";break;
           case 13 : $genre="Historique";break;
           case 14 : $genre="Horreur-Epouvante";break;
           case 15 : $genre="Policier-Thriller";break;
           case 16 : $genre="Romance";break;
           case 17 : $genre="Science-Fictions";break;
           case 18 : $genre="Western";break;
          }
          $tab[$i]=$ligne[6];
          $annee=$ligne[2];
          $image=$ligne[3];
          //$image = substr($image,0,-4);//enléve les 4 derniers caractères ( ".JPG" )
          //$image.='.png';
          $image="../images/affiche/".$image;
          //echo $image;
          $pre_reali=$ligne[4];
          $nom_reali=$ligne[5];
          
          print('<td align="center">');
          print('');
          print('</td>');
          print('<td align="center">');print(' '.$titre.' ');print('</td>');
          print('<td align ="center">');print(''.$genre.'');print('</td>');
          print('<td align= "center">');print(' '.$annee.' ');print('</td>');
          print('<td align ="center">');print(''.$pre_reali.'');print('</td>');
          print('<td align= "center">');print(' '.$nom_reali.' ');print('</td>');
          print("<TD bgColor =#FF8040></TD>");
     print("<TD align= "left" class='Menu0' onmouseover="javascript:this.className='Menu1'"        onclick="window.open('detail.php?idfilm=$tab[$i]','new', 'status, width=500, height=600'); return false;" onmouseout="javascript:this.className='Menu0'">&nbsp; Voir </TD>");
          print("<TD bgColor =#FF8040></TD>");
          print('</td>');
          
         print("</tr>");
         
          
       }
        }         
     }
     else
     {
        print("erreur lors de la connection à la base");
     }
     mysql_close($ide);
    }
    else
     print("erreur lors de la connection");              


    ?>
0
Rejoignez-nous