PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 27-11-2010 23:45:14

kingsdavid
Membre
Inscription : 27-11-2010
Messages : 10

Afficher une liste de la BDD avec un lien hypertexte

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

<?php
try
{
  $bdd = new PDO('mysql:host=localhost;dbname=annonces', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$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

<?php
if(isset($_GET['titre']) AND (is_numeric($_GET['titre']))) $titre=$_GET['titre'];
echo $_GET['titre'];


Merci d'avance,
David

Hors ligne

#2 28-11-2010 11:53:17

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Afficher une liste de la BDD avec un lien hypertexte

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

#3 28-11-2010 12:38:49

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Afficher une liste de la BDD avec un lien hypertexte

et un titre numeric big_smile:D:D


tu as lu 95625874 ??? big_smile:D


a++

Hors ligne

#4 28-11-2010 12:47:14

kingsdavid
Membre
Inscription : 27-11-2010
Messages : 10

Re : Afficher une liste de la BDD avec un lien hypertexte

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

#5 28-11-2010 19:04:42

kingsdavid
Membre
Inscription : 27-11-2010
Messages : 10

Re : Afficher une liste de la BDD avec un lien hypertexte

hou hou, y a personne ?

Hors ligne

#6 28-11-2010 21:08:42

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Afficher une liste de la BDD avec un lien hypertexte

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

#7 29-11-2010 14:32:09

kingsdavid
Membre
Inscription : 27-11-2010
Messages : 10

Re : Afficher une liste de la BDD avec un lien hypertexte

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

#8 29-11-2010 14:34:01

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Afficher une liste de la BDD avec un lien hypertexte

titre est numeric ??
a++

Hors ligne

#9 29-11-2010 16:04:54

kingsdavid
Membre
Inscription : 27-11-2010
Messages : 10

Re : Afficher une liste de la BDD avec un lien hypertexte

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

#10 29-11-2010 18:54:17

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Afficher une liste de la BDD avec un lien hypertexte

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

Pied de page des forums