Vous n'êtes pas identifié(e).
Bonjour,
Ma BDD : Titre, auteur, nombre de pages, date, prix
Sur ma page1 j'affiche les Titres avec lien hypertexte.
Lorsque je clique sur le titre, je voudrais que celà m'affiche sur une autre page (page2) les détails (auteur, nombre de pages, date, prix)
J'ai trouvé un script mais je n'arrive pas à afficher les détails (seul le titre s'affiche)
page1
$reponse = $bdd->query('SELECT titre FROM livres);
while ($donnees = $reponse->fetch())
{
echo '<a href="page2.php?titre='.urlencode($donnees ['titre']).'">'.stripslashes(htmlentities(trim($donnees['titre']))).'</a><br />';
}
Page 2
Merci d'avance,
David
Hors ligne
Saluton,
Il te faut relancer une requête dans le script de la page 2, pour demander à MySQL les infos de ce titre en utilsant $_GET['titre'] comme paramètre.
Ceci dit si ta table utilise titre comme identifiant, ce n'est pas top-top.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
et un titre numeric :D:D
tu as lu 95625874 ??? :D
a++
Hors ligne
effectivement, j'ai oublié de mentionner le champ "id"
En clair, sur ma 2° page, je dois rajouter quoi comme code php pour demander les infos du titre ?
Hors ligne
hou hou, y a personne ?
Hors ligne
On a du mal à répondre à ceux qui ne prennent pas le temps de lire des cours avant de venir demander de l'aide. ^^
Je te reconduis : http://phpdebutant.org/article117.php
Hors ligne
Merci,
Mon script PAGE2 ne marche pas :-(
Où est l'erreur ?
Merci
page2
<?php
if(isset($_GET['titre']) AND (is_numeric($_GET['titre']))) $titre=$_GET['titre'];
?>
<?php echo $_GET['titre']; ?>
<p><br />
</p>
<p>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=annonces', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$sql = "SELECT * FROM livres WHERE titre = '".$_GET['titre']."';";
echo $sql
?>
Dernière modification par kingsdavid (29-11-2010 14:33:05)
Hors ligne
titre est numeric ??
a++
Hors ligne
Pour Pierrot, mon titre est sous la forme TEXTE. Seul l'id est numérique.
Mon script ne marche pas. Je suis débutant, je voudrais avoir une aide bienveillante de votre part.
Sur la page 1, j'ai un tableau avec les titres (titre1, titre2, etc) des livres (avec liens hypertexte).
Lorsque je clique sur un titre, je souhaite afficher sur la page2 tous les champs de la ligne du titre séléctionné (auteur, prix, date, nombre_de_page)
Avec mon code, celà ne m'affiche sur la page2 que le nom du titre et ça :
SELECT jeux FROM livres WHERE titre = 'titre1';
Voici mon code de la page 2
Page 2
<?php
if(isset($_GET['titre'])) $auteur=$_GET['titre'];
?>
<?php echo $_GET['titre']; ?>
<p><br />
</p>
<p>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=annonces', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$sql = "SELECT jeux FROM livre WHERE titre = '".$_GET['titre']."';";
echo $sql
?>
Où me suis-je trompé ?
Merci d'avance
David
Hors ligne
Su la conception, une table doit posséder une clé primaire qui se doit d'être unique.
C'est sur cette clé qu'on identifie le n-uplet.
Un titre n'est pas unique ! Il te faut un champs id qui sera la clé primaire de ta table.
C'est cette clé que tu passeras dans le lien et que tu utiliseras dans ta requête.
Cela te réduira bon nombre de soucis pouvant intervenir du fait que c'est un type numérique. Car une chaîne de caractère est pour ainsi dire maltraitée dans une url...
Hors ligne