Question sur la génération de titre de page dynamique

Nouveau WRInaute
Bonjour,

J'aimerais, afin d'améliorer le référencement de mon site, mais aussi pour une question d'ergonomie (par exemple pour ceux utilisant les fonctions d'historique de leur navigateur), générer dynamiquement les titres de mes pages.

Sur le principe, je sais comment faire : stocker dans une BDD les titres, les mots clés, et les description des pages, et aller les lire lorsque j'affiche une page. Là dessus, aucun soucis.

Cependant, je ne vois pas comment mettre cela en place pour un site dynamique. J'ai par exemple créé un site de vente de CD de musique en ligne. Et j'aimerais que pour chaque fiche de CD, je puisse avoir un titre et une description contenant le titre de ce CD (par exemple 'Fiche de Tel-Album réalisé par Tel-Artiste').

En effet, je ne me vois pas saisir manuellement le titre de chaque fiche (il y a plus de 500 références). Ce que j'ai pensé faire, mais que je n'arrive pas, serait de définir un titre générique dans ma BDD (par exemple "Fiche de $ligne[0] réalisé par $ligne[1]"), et de faire une requête pour trouver le titre de l'album et son artiste avant d'afficher le titre de la page... Exemple :

Code:
			$sql2 = "	SELECT page_title, page_description, page_keywords
						FROM page
						WHERE section='"$_GET['section']."'
							AND action='".$_GET['action']."'";
			$req2=$db->query($sql2);
			if($ligne2=$req2->fetch_row())
			{
				$sql = "	SELECT titre, nom_artiste
							FROM album
							WHERE id_album='".$_GET['id_album']."'";
				$req=$db->query($sql);
				$ligne=$req->fetch_row();
				echo '<title>'.$ligne2[0].'</title>';
				echo '<meta name="description" content="'.$ligne2[1].'" />';
				echo '<meta name="keywords" content="'.$ligne2[2].'" />';
			}

et où on aurait dans la table "page" : ("Fiche de $ligne[0] réalisé par $ligne[1]","Fiche du CD de $ligne[0] réalisé par $ligne[1]", "$ligne[0],$ligne[1],musique,cd,acheter") avec le nom des variables tels quels.

Est-ce possible de faire cela? Ou sinon, comment faire pour avoir un titre dynamique lorsqu'on a un site avec ennormément de produits?

Merci d'avance pour vos réponses :wink:
 
WRInaute passionné
Tu as forcément déjà une base de donnée avec le titre des albums et le nom des artistes. Pourquoi tu veux doublonner tout ça ?

1/ à l'appel de la page tu sélectionne ces valeurs dans ta base $album et $auteur
2/ tu met en forme ton titre :

Code:
$titre='Fiche '.$album.' par '.$auteur;

puis tu fais un echo
Code:
echo '<title>'.$titre.'</title>';
 
Nouveau WRInaute
Merci de ta réponse. Sur le principe, c'est ce que je voudrais faire, mais j'aurais aimé mettre la chaine $titre dans la BDD, pour éviter de les faire apparaître en dur dans mon code (et dans un include, c'est pas top non plus)... En effet, j'aurais pas mal de titres : pour le albums, les films, les spectacles, les concerts, les voyages, les livre... Sans compter les nombreuses rubriques (choix par pays, par genre, catalogue, promotions etc)...
 
WRInaute discret
Bonjour jeroem


comment recuperer ces variables dans la base de donne

Je voudrais mettre un titre dynamique dans mon vieux phpmyannuaire
j'ai ceci dans data_bd_annuaire.php
$T_categories = "an_categories"; //table des categoires

et la table a laquelle ca fait reference

CREATE TABLE IF NOT EXISTS `an_categories` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`id_cat_mere` mediumint(8) unsigned NOT NULL default '0',
`cat_name` varchar(30) collate latin1_general_ci NOT NULL default '',
`texte` text collate latin1_general_ci NOT NULL,
`activation` tinyint(1) unsigned NOT NULL default '1',
`position` tinyint(3) unsigned NOT NULL default '0',
`can_add` tinyint(1) unsigned NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `id_cat_mere` (`id_cat_mere`,`cat_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=52 ;


je pense que pour quelqu'un maitrant php ca doit etre simple

merci
 
WRInaute discret
Désolé de m'incruster dans cette discussion d'autant plus que c'est pour poser une question :p

Donc moi j'ai le même problème que toi sauf que c'est pour ajouter des jeux, pour le moment je le fais semi-manuellement parce que je crée les pages moi même mais il me complète le titre et tout automatiquement.

Mon problème c'est que je ne sais pas comment faire pour générer des pages avec par exemple : nomdujeu1.html nomdujeu2.html nomdujeu3.html etc...
Comment faire pour changer le nom de la page en fonction du jeu ? (parce que le title et les metas, ça j'ai bien compris).

Merci :)
 
WRInaute discret
salut trentounet

oui ca j'ai pigé mon probleme c'est de

recuperer ton $donnees['title']; de ma base de donnes

pour moi recuperer cat_name

et je ne sais pas comment

si je fais

<title><?php echo $cat_name; ?></title>
je n'ai rien car il faudrait faire exister cette fonction

$cat_name = recuperer cat_name dans $T_categories mais comment
 
Discussions similaires
Haut