Ou sont mes pages php/mysql

Fermé
syrinxxxx Messages postés 322 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 14 novembre 2009 - 22 oct. 2009 à 11:39
syrinxxxx Messages postés 322 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 14 novembre 2009 - 22 oct. 2009 à 12:03
Bonjour,

Tout d'abord je sais pas vraiment où poser ma question, je me trompe peu-être de forum.

J'ai suivi un tutoriel de developpez.net sur la création d'un site web dynamique en php. Tout est très bien expliqué. Seulement quand je me retrouve à la fin avec l'architecture de base, je n'arrive pas à comprendre à quel endroit je vais devoir ajouter le contenu des différentes pages, car tout passe par la base de donnée.
À la fin j'obtiens :

commmon.php
index.php
tete-page.php
pied-page.php
/includes
/languages
/templates
/themes

Dans les templates, j'ai : {PAGE_CONTENU} dans le div contenu.

{PAGE_CONTENU} renvoie à la page tete-page.php :

$template->assign_vars(array(
'PAGE_CONTENU' => $_ENV['contenu'],
));


$_ENV['contenu'] renvoie à la page mes-fonctions.php (dans includes) :

function extraction_infos_DB() {
global $db;

$sql = 'SELECT *
FROM PAGES AS p
INNER JOIN PAGES_LANG AS pl ON p.Id_page = pl.Id_page
WHERE p.Id_page = :id_page
AND pl.Id_langue = :id_langue';

$statement = $db->prepare($sql);
$statement->execute(array(':id_page' => $_ENV['id_page'], ':id_langue' => $_SESSION['language_id']));
$tabl_result = $statement->fetch();

$_ENV['mots_cles'] = $tabl_result['Mots_cles'];
$_ENV['description'] = $tabl_result['Description'];
$_ENV['titre'] = $tabl_result['Titre'];
$_ENV['contenu'] = $tabl_result['Contenu'];
$_ENV['id_parent'] = $tabl_result['Id_parent'];
}

Donc voilà j'arrive à remonter de la page template jusqu'à la fonction qui recupère les info sur la base de donnée, ce que je ne comprend pas où mettre le "body" de ma page .html pour qu'il s'affiche.

Si vous ne me comprennez pas, c'est normal, j'ai du mal a me suivre aussi :s

Merci d'avance si quelqu'un arrive à saisir l'endroit où ma logique pèche.

2 réponses

phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 23
22 oct. 2009 à 11:42
ebn tu peut faire comme ca:

<?
blabla en php avec par exemple une variablme $var
?>
<body>
ta variable qui saffiche <?= $var ?>

</body>
0
syrinxxxx Messages postés 322 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 14 novembre 2009 28
22 oct. 2009 à 12:03
Merci pour la rapidité de ta réponse !

En fait j'ai passé deux jours à suivre ce tutoriel qui permet de séparer le php du html.

Ce que je comprend pas c'est ce qu'il faut que je mette dans la case "contenu" sur ma base de donnée pour qu'elle me charge un contenu, j'arrive a comprendre le chemin navigateur vers base de donnée, mais pas celui inverse :

index.php -> /templates : index.tpl ->tete-page.php-> /includes : mes-fonctions.php -> requête base de donnée .... et c'est là que ça bloque.

Dans ma tête ma solution (irréalisable lol) serait de dire à la case "contenu" de la bd, d'aller me chercher le contenu correspondant à l'id de la page. En d'autre mot, je comprends bien comment demander gentiment à la base de donnée de le renvoyer quand on lui demande mais je ne sais pas où mettre ce contenu ...

Un peu comme si je disais " passe-moi le verre que j'ai mis sur la table, stp." et que en fait le verre il sèche encore sur l'évier lol
0