Afficher l'article en fonction du titre
Résolu
Caro
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je souhaite afficher sur une premiere page une image et un titre, et quand l'utilisateur cliquera dessus ils sera renvoyer vers la description complete de cet article.
J'affiche bien les titres et images sur la premiere page. Mais la deuxieme ne fonctionne pas.
voici mon code: premiere page
$sql="SELECT * FROM ficheproduit";
try{
$cnx = new PDO(DSN, LOGIN, PASSWORD, $options);
$res=$cnx->query($sql);
while($ligne=$res->fetch())
{
$id=$ligne['id'];
$titre=$ligne['titre'];
$description=$ligne['description'];
$prix=$ligne['prix'];
$titreimage=$ligne['titreimage'];
?>
<li><a href="ficheproduit.php?titre=$titre"></li>
<img src="imagesproduits/<?php echo $titreimage; ?>.jpg" height="150" width="150" style="border-radius:15px;"/>
<?php echo "<h3>$titre</h3>Prix : $prix €<br /><br />";?></a><?php
}
Deuxieme page: if(isset($_GET['titre'])){
$titre=$_GET['titre'];
$sql="SELECT * FROM ficheproduit WHERE fiche=$titre";
try{
$cnx = new PDO(DSN, LOGIN, PASSWORD, $options);
$res=$cnx->query($sql);
while($ligne=$res->fetch())
{
$id=$ligne['id'];
$titre=$ligne['titre'];
$description=$ligne['description'];
$prix=$ligne['prix'];
$titreimage=$ligne['titreimage'];
?>
<li><a href="imagesproduits/<?php echo $titreimage; ?>.jpg"/>
<img src="imagesproduits/<?php echo $titreimage; ?>.jpg" height="250" width="250" style="border-radius:15px;"/>
</a>
<?php echo "<h3>$titre</h3>Prix : $prix €<br />Description : <em>$description</em><br />";?></a><?php
}
Merci d'avance :/
je souhaite afficher sur une premiere page une image et un titre, et quand l'utilisateur cliquera dessus ils sera renvoyer vers la description complete de cet article.
J'affiche bien les titres et images sur la premiere page. Mais la deuxieme ne fonctionne pas.
voici mon code: premiere page
$sql="SELECT * FROM ficheproduit";
try{
$cnx = new PDO(DSN, LOGIN, PASSWORD, $options);
$res=$cnx->query($sql);
while($ligne=$res->fetch())
{
$id=$ligne['id'];
$titre=$ligne['titre'];
$description=$ligne['description'];
$prix=$ligne['prix'];
$titreimage=$ligne['titreimage'];
?>
<li><a href="ficheproduit.php?titre=$titre"></li>
<img src="imagesproduits/<?php echo $titreimage; ?>.jpg" height="150" width="150" style="border-radius:15px;"/>
<?php echo "<h3>$titre</h3>Prix : $prix €<br /><br />";?></a><?php
}
Deuxieme page: if(isset($_GET['titre'])){
$titre=$_GET['titre'];
$sql="SELECT * FROM ficheproduit WHERE fiche=$titre";
try{
$cnx = new PDO(DSN, LOGIN, PASSWORD, $options);
$res=$cnx->query($sql);
while($ligne=$res->fetch())
{
$id=$ligne['id'];
$titre=$ligne['titre'];
$description=$ligne['description'];
$prix=$ligne['prix'];
$titreimage=$ligne['titreimage'];
?>
<li><a href="imagesproduits/<?php echo $titreimage; ?>.jpg"/>
<img src="imagesproduits/<?php echo $titreimage; ?>.jpg" height="250" width="250" style="border-radius:15px;"/>
</a>
<?php echo "<h3>$titre</h3>Prix : $prix €<br />Description : <em>$description</em><br />";?></a><?php
}
Merci d'avance :/
A voir également:
- Afficher l'article en fonction du titre
- Fonction si et - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Afficher appdata - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? - Guide
- Je cherche une chanson dont je ne connais pas le titre - Guide
2 réponses
salut,
dans la page 2 essaye plutot de faire cette requete :
je pense que ca devrait être mieux avec des quote qui entourent ta chaine ;)
naga
dans la page 2 essaye plutot de faire cette requete :
$sql="SELECT * FROM ficheproduit WHERE fiche='".$titre."'";
je pense que ca devrait être mieux avec des quote qui entourent ta chaine ;)
naga
Donc x) pour résumer essaye :
PAGE 1
PAGE 2
il n'y a pas tout la page, il manque les balises <?php en début de page etc.
PAGE 1
$sql="SELECT * FROM ficheproduit"; try{ $cnx = new PDO(DSN, LOGIN, PASSWORD, $options); $res=$cnx->query($sql); while($ligne=$res->fetch()) { $id=$ligne['id']; $titre=$ligne['titre']; $description=$ligne['description']; $prix=$ligne['prix']; $titreimage=$ligne['titreimage']; ?> <li><a href="ficheproduit.php?titre=".$titre></li> <img src="imagesproduits/<?php echo $titreimage; ?>.jpg" height="150" width="150" style="border-radius:15px;"/> <?php echo "<h3>$titre</h3>Prix : $prix €<br /><br />";?></a><?php }
PAGE 2
if(isset($_GET['titre']) && !empty($_GET['titre'])) { $titre=$_GET['titre']; $sql="SELECT * FROM ficheproduit WHERE fiche='".$titre."'"; try{ $cnx = new PDO(DSN, LOGIN, PASSWORD, $options); $res=$cnx->query($sql); while($ligne=$res->fetch()) { $id=$ligne['id']; $titre=$ligne['titre']; $description=$ligne['description']; $prix=$ligne['prix']; $titreimage=$ligne['titreimage']; ?> <li><a href="imagesproduits/<?php echo $titreimage; ?>.jpg"/> <img src="imagesproduits/<?php echo $titreimage; ?>.jpg" height="250" width="250" style="border-radius:15px;"/> </a> <?php echo "<h3>$titre</h3>Prix : $prix €<br />Description : <em>$description</em><br />";?></a><?php
il n'y a pas tout la page, il manque les balises <?php en début de page etc.
c'est donc que le paramètre n'est pas passé. as tu bien changé cette ligne dans la page 1 :
en fait il faut dans un premier temps vérifier si le paramètre passé dans ton lien correspond bien (tu ne dois pas avoir ?titre=$titre mais ?titre=le_titre_du_doc)
ensuite il faut que tu sois sûre de ne pas avoir de cactères spéciaux dans ton titre (tel que ', &, [espace],etc.)
enfin, c'est plutot mon avis, je pense qu'il vaut mieux que tu passe l'id en paramètre. soit faire dans ta page 1 :
et dans ta page 2 :
ensuite je t'avous que sans voir vraiment tout (et sans pouvoir tester) c'est un peu délicat ^^
<li><a href="ficheproduit.php?titre=".$titre></li>
en fait il faut dans un premier temps vérifier si le paramètre passé dans ton lien correspond bien (tu ne dois pas avoir ?titre=$titre mais ?titre=le_titre_du_doc)
ensuite il faut que tu sois sûre de ne pas avoir de cactères spéciaux dans ton titre (tel que ', &, [espace],etc.)
enfin, c'est plutot mon avis, je pense qu'il vaut mieux que tu passe l'id en paramètre. soit faire dans ta page 1 :
<li><a href="ficheproduit.php?id=".$id></li>
et dans ta page 2 :
if(isset($_GET['id']) && !empty($_GET['id'])) { $titre=$_GET['titre']; $sql="SELECT * FROM ficheproduit WHERE id=".$id;
ensuite je t'avous que sans voir vraiment tout (et sans pouvoir tester) c'est un peu délicat ^^
Vérifie ta table.(sur le coup je dirai que c'est " titreimage")
c"était titre plutot que titre image.
Ensuite le while n'est pas nécessaire, vu que tu ne veux qu'un seul résultat, mais ca pose pas de problème ^^