Aide pour code php

Résolu
Utilisateur anonyme -  
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   -
bonjour,
je fait un site avec la liste des films et une fiche par films, dans ma page film A dont j'ai mit un code qui affiche ma liste de films A qui sont dans ma basse de donne, j'aimerai savoir comment faire pour que quand je clique sur un des films sa crée une autre page avec les donné du films (qui sont dans ma même basse de donne) sans que j'ai a faire une page par films
si sais possible

voici ma page "filma.php"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>VM Archive</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
</head>

<body>

<?php include("entete.php"); ?>

<?php include("menus.php"); ?>

<div id="corps">
<h1>Films A</h1>
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=vm_archive', 'root', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer

// On récupère tout le contenu de la table jeux_video
$reponse = $bdd->query('SELECT * FROM films WHERE nom_du_film LIKE "A%" ORDER BY nom_du_film ');

// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<p>
<a href="nom_du_film.php"><?php echo $donnees['nom_du_film']; ?></a>
</p>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>

</div>

<?php include("pied_de_page.php"); ?>

</body>
</html>
A voir également:

7 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Tu peux passer des données GET (dans l'url).
Par exemple, tes liens pointent vers ce style d'adresse /fiche.php?film_id=3
Ensuite, tu pourras utiliser la variable $_GET['film_id'] sur "fiche.php" pour faire ta requête SQL. Ta table doit bien évidemment comporter un champ contenant un id unique pour chaque film.

<?php 
require 'sqlconnect.php'; 

$id = (int) $_GET['film_id']; 
if($id === 0) 
    echo 'Erreur : url invalide.'; 
else { 
    $sql = 'SELECT COUNT(*) AS nb FROM films WHERE id='.$id; 
    $req = $pdo->query($sql); 
    $row = $req->fetch(); 
    $nb = $row['nb']; 

    if($nb > 0) { 
        $sql = 'SELECT * FROM films WHERE id = '.$id; 
        $req = $pdo->query($sql); 
        $film = $req->fetch(PDO::FETCH_OBJ); 

        echo '<h3>'.$film->titre.' par '.$film->auteur.'</h3>'; 
        echo $film->resume; 
    } else 
        echo 'Cette fiche n\'existe pas ou plus.<br/>' . 
          '<a href="liste.php">Retour à la liste</a>'; 
} 

?>

Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
1
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Tu as été plus rapide, oups bien joué.
Enlèves le "e" à filme. ;)
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Dans ta boucle tu fais un lien ( il va donc se répéter pour chaque film ) comme ceci : <a href="page-d-info.php?id=<?php echo donnees['id']; ?>">Information</a>

Puis dans la page : page-d-info.php ; tu récupères l'id avec $_GET[''], que tu insères dans ta requête php qui va chercher les informations.

Compris ? :)
1
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Non ! Si tu regardes l'url générée, c'est toujours la même.
As-tu au moins un champ qui contient un identifiant unique pour chaque entrée ?
1
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Par exemple un champ id, généralement qui est en début de Table et en Auto Incrémentation.
0
Utilisateur anonyme
 
je croi que j'ai compris mais quand je mais le code pour allez a la page


<a href="fiche_film.php?id=<?php echo donnees['id']; ?>"><?php echo $donnees['nom_du_film']; ?></a>

sa marche pas sa n'affiche pas la page avec ma liste de film

sa mais "Parse error: parse error, expecting '','' or '';'' in C:\wamp\www\Mon site\filmsa.php on line 35"


et le code de avion f-16 je le doit le mettre ou j'ai pas comprit.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
sais bon j'ai trouver

<a href="fiche_film.php?id=<?php echo $_GET['id']; ?>"><?php echo $donnees['nom_du_film']; ?></a>

a la place de donnees j'ai mit get est sa marche

mais maintenent comment sur ma page de la fiche du film d'avoir le bon film que j'ai cliquer sur le lien
0
Utilisateur anonyme
 
sais bon j'ai réussi a trouver avec votre aidez et le cours que j'ai relu
merci bien de votre aidez
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
LE $_GET[''], tu dois l'utiliser sur la page où tu fais une requête pour un seul film. En fait j'avais oublier le $ dans mon code ; essaies avec ceci :
<a href="fiche_film.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['nom_du_film']; ?></a>


Puis dans la page-d-info.php ( peut importe le nom d'ailleurs ) tu récupères l'id avec $_GET[''] que tu insères dans ta requête sql qui va chercher les informations du film concerné. En la sécurisant : tester si le numéro existe, s'il est bien demandé, si c'est bien un numéro, etc.
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Tu n'as plus fais de PHP depuis combien de temps pour faire ce genre d'erreur ? :)
Le "$" est à mettre avant le nom de la variable, soit avant "donnees".

<a href="fiche_film.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['nom_du_film']; ?></a>
0
Utilisateur anonyme
 
la je suis pas d'accord quans je mais $echo donnees sa marche pas alors que quand je mais echo $donnees sa marche
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Résolu d'abord ?
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Oh mince, j'ai mal fais mon copier/coller du <'gras'>$</'gras'> !
Quelle horreur d'avoir écrire ceci, je modifie de suite. Te moques pas F16, je suis qu'un déb. ;)
Donc j'avais bien raison, nous avions oublier de mettre $ devant donnees['id'];
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Non, TU avais oublié de mettre le "$" devant "donnees['id']" ;)
0