Aide pour code php
Résolu
Utilisateur anonyme
-
LelLex Messages postés 1628 Date d'inscription Statut Membre Dernière intervention -
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>
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:
- Aide pour code php
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
7 réponses
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.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
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.
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 ? :)
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 ? :)
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 ?
As-tu au moins un champ qui contient un identifiant unique pour chaque entrée ?
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.
<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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
<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
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 :
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.
<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.
Enlèves le "e" à filme. ;)