Afficher l'article en fonction du titre
Résolu/Fermé
A voir également:
- Afficher l'article en fonction du titre
- Fonction si et - Guide
- Dans cette présentation, sarah avait encadré directement le titre de certaines diapositives avant d'automatiser cette mise en forme pour tout le document. sur quelles diapositives avait-elle encadré directement le titre ? ✓ - Forum Bureautique
- Je cherche une chanson dont je ne connais pas le titre - Guide
- Afficher mot de passe wifi android - Guide
- Afficher toutes les lignes masquées excel ✓ - Forum Excel
2 réponses
Utilisateur anonyme
28 mai 2013 à 11:17
28 mai 2013 à 11:17
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
Utilisateur anonyme
Modifié par nagashima le 28/05/2013 à 11:48
Modifié par nagashima le 28/05/2013 à 11:48
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 ^^
28 mai 2013 à 11:18
28 mai 2013 à 11:22
Vérifie ta table.(sur le coup je dirai que c'est " titreimage")
28 mai 2013 à 11:26
28 mai 2013 à 11:29
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 ^^
28 mai 2013 à 11:33