Lien menant vers plusieurs pages ?

Résolu/Fermé
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 - 17 oct. 2014 à 10:44
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 - 17 oct. 2014 à 15:57
Bonjour à tous amis forumeurs,

J'ai un petit problème et je ne sais si c'est réalisable, je m'explique :

J'ai un lien comme celui ci :
<a href="articleCloison.php?id=<?php echo $articlesSideBar -> id ?>">


ce lien me permet d'aller automatiquement sur l'article cloison aluminium avec l'id qui lui est destiné mais j'aimerai aussi qu'il puisse prendre le même résultat mais avec une page différente comme stores aluminium

donc en gros j'aimerai que mon lien soit comme cela :


<a href="toutes les pages articles?id=<?php echo $articlesSideBar -> id ?>">


cela est il possible ?

Merci d'avance de vos réponses,

Psore
A voir également:

12 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
Modifié par Pitet le 17/10/2014 à 12:38
Salut,

Tu peux par exemple créé une page article.php qui prend en paramètre l'id de n'importe quel article qui sera utilisé dans ta requête sql.

Comment ta page articleCloison.php est-elle codée actuellement ?
1
Utilisateur anonyme
17 oct. 2014 à 15:16
Il est " d'usage " dans le magasinage de typer les ID, toutes les ID commençant par 99 sont de la quincaillerie, 88 services, etc...

Peut-etre une piste

cdt
1
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
17 oct. 2014 à 15:42
Le plus simple serait effectivement de rassembler tous tes articles dans une seule table avec un champ supplémentaire 'categorie' :

Table 'articles' :
id | categorie | titre | description | ...
1 | cloison | cloisons vitrées | desc. blabla | ...
2 | cloison | toute hauteur | desc. titouti | ...
3 | store | store venitien | desc. storev | ...
4 | autre | autre article | plop | ...

Ainsi tu peux gérer tes articles et toutes les infos qu'ils ont en commun de la même façon. En fonction de la catégorie de l'article, tu pourras éventuellement effectuer tes traitements supplémentaires.
1
Utilisateur anonyme
17 oct. 2014 à 11:11
Bonjour,

je pense que cela ne posera pas de probleme, à la condition, bien sûr, de ne pas oublier le " ; " à la fin de ton echo.

cdt
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
17 oct. 2014 à 12:34
C'est une bonne pratique mais ce n'est pas obligatoire.
Avec les balises courtes on peut également écrire :
<?= $articlesSideBar->id ?>

https://www.php.net/manual/fr/language.basic-syntax.instruction-separation.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 11:22
Bonjour,

donc cela est possible mais comment faire ?

je ne vois pas comment le rendre dynamique pour chacun de mes fichier .php
0
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 14:02
Salut,

Pour essayer d'être au maximum clair je vais expliquer,

je passe part un DAO ou je fais mes requetes :

<?php

require_once "src/cloisonsAluminium.php";
require_once "src/articleCloisons.php";

class articleCloisonsSqlDao extends BaseSqlDao{

public function getArticle($id){

$q = "SELECT
cloisonsaluminium.id,
cloisonsaluminium.titre,
cloisonsaluminium.description,
cloisonsaluminium.image,
articlecloison.id as cloisonsId,
articlecloison.idCloisonAlu
FROM articlecloison,cloisonsaluminium
WHERE articlecloison.idCloisonAlu = cloisonsaluminium.id
AND cloisonsaluminium.id = $id";

$this -> query($q);

while ($line = $this -> fetch()) {

$Cloisons = new articleCloisons();
$Cloisons -> id = $line["id"];
$Cloisons -> idCloisonAlu = $line["id"];

$cloisonsAluminium = new cloisonsAluminium();
$cloisonsAluminium -> id = $line["id"];
$cloisonsAluminium -> titre = $line["titre"];
$cloisonsAluminium -> description = $line["description"];
$cloisonsAluminium -> image = $line["image"];

$Cloisons -> cloisonsAluminium = $cloisonsAluminium;
}

return $Cloisons;
}
}
?>


ensuite je fais appel à mon controller qui est ma page articlesCloisons.php :


<?php require "require.php"; ?> 

<?php
$dao = new articleCloisonsSqlDao();
$Cloisons = $dao -> getArticle($_REQUEST["id"]);
affiche("header",array("titre" => $Cloisons -> cloisonsAluminium -> titre));

/*gallery*/
$request = $_REQUEST["id"];
$daoGallery = new galleryImagesSqlDao();
$galleryImages = $daoGallery -> getGallery($_REQUEST["id"]);

/*affichage gallery et cloisons*/
affiche("articleCloisonView",array("Cloisons" => $Cloisons,"galleryImages" => $galleryImages));

?>

<?php
$request = $_REQUEST["id"];
$dao = new cloisonsAluminiumSqlDao();
$cloisonsAluminium = $dao -> getAllArticles($_REQUEST["id"]);
affiche("cloisonsAluminium",array("cloisonsAluminium" => $cloisonsAluminium));
?>




<?php require "footer.php"; ?>


puis j'appel un autre fichier via mon tablette pour faire un require et extract d'un tableau associatif :


<div class="contentArticle">
<!-- Fil d'ariane -->
<?php
define('NOM_SITE', 'AEP travaux', true);
get_fil_ariane(array('cloisons-aluminium.php' => 'Cloisons aluminium', $Cloisons -> cloisonsAluminium -> titre));
?>
<div id ="article">

<!-- Un article en particulier -->
<div class="articleDescription">
<h1><i class="fa fa-bars"></i><?php echo $Cloisons -> cloisonsAluminium -> titre ?></h1>
<img src="images/imagesArticles/cloisonsAluminium/<?php echo $Cloisons -> cloisonsAluminium -> image ?>">
<p><?php echo $Cloisons -> cloisonsAluminium -> description ?></p>
</div>

<!-- Gallery images -->
<div id="gallery">
<h3><i class="fa fa-camera"></i>Gallerie photos</h3>
<?php
if ($galleryImages == false) { ?>

<p>Désolé il n'y a pas d'images disponibles pour l'intants</p>

<?php
}else{
?>
<?php foreach ($galleryImages as $gallery) { ?>
<a href="lightbox/img/cloisonsToutesHauteur/<?php echo $gallery -> image ?>" data-lightbox="<?php echo $Cloisons -> cloisonsAluminium -> titre ?>" title="<?php echo $Cloisons -> cloisonsAluminium -> titre ?>">
<img src="images/imagesArticles/cloisonsAluminium/<?php echo $gallery -> image ?>"/>
</a>
<?php
}
?>


<?php } ?>
</div>

<!--boutons reseaux sociaux -->
<div class="reseauxSociauxArticle">
<h3><i class="fa fa-users"></i>Partagez</h3>

<!-- bouton Mail -->
<div class="sociaux">
<a title="Partager par mail" href="mailto:?subject=Article <?php echo $Cloisons -> cloisonsAluminium -> titre ?>&body=Bonjour, voici un article du site web AEPTravaux qui traite de : <?php echo $Cloisons -> cloisonsAluminium -> titre?>. Voici toutes les explications : <?php echo $Cloisons -> cloisonsAluminium -> description ?> et voici le lien menant à la page : http://localhost/AEPTravaux/articleCloison.php?idCloison=<?php echo $Cloisons -> cloisonsAluminium -> id ?>">
<img src="images/imagesArticles/boutonPartageEmail.png" alt="Envoyer par mail" />
</a>
</div>

<!-- bouton twetter -->
<div class="sociaux">
<div>
<a title="Partager sur Twitter" href="https://twitter.com/intent/tweet?related=zededalus&text=Venez&url=&original_referer= visiter le site :" target="popup" onClick="ouvre('http://twitter.com/share?related=zededalus&text=Venez visiter le site :');return false" ><img src="images/imagesArticles/boutonPartageTweeter.png" alt="Partager su twetter" /></a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>

<!-- bouton facebook -->
<div class="sociaux">
<div>
<script>function fbs_click() {
u=location.href;
t=document.title;
window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
return false;
}</script>
<a title="Partager sur Facebook" href="https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%26lt%253Burl%26gt%253B&display=popup" onclick="return fbs_click()" target="_blank">
<img src="images/imagesArticles/boutonPartageFacebook.png" alt="Partager sur Facebook" /></a>
</div>
</div>
</div>
<!--boutons reseaux sociaux -->
<div id="devis">
<a href="" target="_blank"><i class="fa fa-pencil-square-o"></i>Demander un devis</a>
</div>
</div>
<!-- Bouton contact -->
</div>


il faut savoir que quand je clic sur un des mes articles cloisons aluminium via son id j'accede à l'article complet qui serra afficher sur ma page articlesCloisons.php

cela est t'il clair ?

je sais que les explications sont pas toujours clair sur les forums

merci d'avance pour ton temps!
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
17 oct. 2014 à 14:29
C'est bien clair mais j'ai encore quelques question concernant ta base de données.

Tes articles cloisons sont actuellement stockés dans la table 'articlecloison'.
Tes articles stores sont-ils stockés dans une table 'articlestore' ?
Si oui, la structure de la table 'articlestore' est-elle différente de la table 'articlecloison' ?

La solution la plus simple serait de rassembler tous tes articles dans une seule table 'articles' te permettant alors de sélectionner n'importe quel article en fonction de son id et pas de son type.
Le type pourrait être renseigné dans une colonne dédiée pour ne sélectionner que les articles 'cloison' ou 'store' si besoin (par exemple sur une page listant tous les articles d'un seul type).
0
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 14:40
dans ma base les articles sont créés dans une table cloisonsaluminium ou je requete tous les articles et une autre table liés à la table cloisonaluminium

j'ai dans ma table cloisonsArticles 2 colonnes : id,idCloisonsAlu et idCloisonsAlu à une relation avec la colonne cloisonaluminium.id
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
17 oct. 2014 à 15:06
Puisque tes articles sont tous dans la même table, tu devrait alors pouvoir afficher un articles 'store' en renseignant son id en tant que paramètre de la page articleCloison.php ?
0
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 15:12
pardon je me suis mal exprimé chaque table est différente est contient pour cloisonsaluminium des articles sur les cloisons : cloisons toute hauteur, cloisons vitrées.... et pour les stores pareil store : store aluminium, store vénitien....le truc c'est que mes articles ont tous la même structure c'est à dire : id,titre,description,image,date

je pense que la meilleure solution c'est comme tu as dit réunir tous mes articles dans une seule table articles et ensuite je vois pas trop comment procéder une idée ? peu être faire une autre table qui prend à chaque fois un article à la fois

Pour le moment j'ai pour un catégorie d'articles exemples : cloisons aluminium, j'ai deux tables cloisonsaluminium qui qui contient tous mes artciles et qui me sort une listes sur la page cloisonsAluminium.php et ensuite une autre table qui ne contient que deux colonnes : id et idCloisonAlu qui elle me renvoie un seul article de ma table cloisonsaluminium


0
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 15:21
Tu veux dire que les cloisons aluminium aurai une ID spécifique, les store pareil et ainsi de suite ?
0
Utilisateur anonyme
17 oct. 2014 à 15:31
tout à fait : )

Cite : "Tu veux dire que les cloisons aluminium aurai une ID spécifique"

Pas une id spécifique mais une id commançant par ......

Les Id de tes cloisons commencent par 11 et celles des store commencent par 22 ( ce n'est qu'un exemple ). J'ai déja appliqué cette methode de codification des identifiants. C'etait pour la gestion des stock de pieces de rechange de matériel agricole.

Ex :

un client nous demandait une référence 55xxxxx, un pointeau de carburateur, nous savions que nous pouvions lui parler de l'etat de sa référence 44xxxxx qui etait le carburateur complet. Les combinaisons sont infines...
0
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 15:38
super! merci il est vrai que je n'avais pas pensé à ce genre de solution du coup quelques modif s'imposent ;)
0
Psore Messages postés 107 Date d'inscription lundi 30 septembre 2013 Statut Membre Dernière intervention 1 décembre 2015 1
17 oct. 2014 à 15:57
je m'y attelle en ce moment super! et merci!
0