Mijn website gebruikt overal een header.inc.php en een footer.inc.php voor het includen van de website lay-out. Hierin worden enkele functies gedeclareerd, de database verbinding opgezet en de bovenkant van de lay-out van de website meegegeven (header.tpl).
Echter nu zit ik met een probleem. Ik wil graag gebruik gaan maken van unieke pagina titels over de gehele website op basis van database informatie. Indien ik dit onderaan zou kunnen zetten, zou het erg makkelijk worden.
Ik vraag me af of ik nu overal in 50 php-pagina's ervoor moet zorgen dat de SQL query bovenaan komt? De unieke titels in dit voorbeeld moeten zijn. Je kunt nu zien op http://www.visilang.com/quiz.php?qid=1 dat ik in 1 van de includes de titel heb laten zetten op basis van $_SERVER[PHP_SELF], maar dat zal nooit een succes worden en op die manier kan ik geen data uit de database halen zoals taal-namen, chapter-namen, quiz-namen, e.d.
Hoe zou ik dat hier het beste kunnen doen? Gewoon bovenaan elke header.inc.php een SQL-query in gebruik nemen die $titel zet? Die vervolgens in header.inc.php als titel gebruikt wordt?
Ik weet wel een manier om het te realiseren, dat is dus elke pagina aanpassen en indien mogelijk de SQL query omhoog plaatsen. En anders gewoon een extra query neerzetten en boven header.inc.php een titel programmeren. Het zou makkelijk zijn als $titel bepaald kon worden in het midden van het bestand, dus na header.inc.php.
Heb dit weekend best veel (3 uur) programmeerwerk overnieuw moeten doen vanwege inefficiënt design van de MySQL database, wil deze site gewoon goed aanpakken en wat bijleren tijdens het proces. Zit er bijvoorbeeld aan te denken om SmartyTemplate te gebruiken of een framework, al wordt het eerste me door veel PHP-fanatiekelingen afgeraden en het laatste heb ik weinig over gehoord. Wil ook niet te veel vast zitten aan een lastig opzetbare webserver installatie voor mijn site.
Echter nu zit ik met een probleem. Ik wil graag gebruik gaan maken van unieke pagina titels over de gehele website op basis van database informatie. Indien ik dit onderaan zou kunnen zetten, zou het erg makkelijk worden.
Ik vraag me af of ik nu overal in 50 php-pagina's ervoor moet zorgen dat de SQL query bovenaan komt? De unieke titels in dit voorbeeld moeten zijn. Je kunt nu zien op http://www.visilang.com/quiz.php?qid=1 dat ik in 1 van de includes de titel heb laten zetten op basis van $_SERVER[PHP_SELF], maar dat zal nooit een succes worden en op die manier kan ik geen data uit de database halen zoals taal-namen, chapter-namen, quiz-namen, e.d.
code:
1
2
| Visilang.com - List of German chapters Visilang.com - Quiz - Guess the Language |
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <?php include "includes/header.inc.php"; echo "<h2>List of chapters</h2><p><br><ul>"; $q_select = "SELECT DISTINCT(cid) FROM questions WHERE `iso`='$_GET[lang_id]' ORDER BY cid asc"; $q_query = mysql_query($q_select)or die(mysql_error()); while($q_toon = mysql_fetch_assoc($q_query)) { $cid = $q_toon[cid]; $c_select = "SELECT * FROM chapters WHERE `cid`= '$cid' AND `iso`='$_GET[lang_id]' "; //echo $c_select; $c_query = mysql_query($c_select)or die(mysql_error()); $c_toon = mysql_fetch_assoc($c_query); echo "<li><h3><a href=image_view.php?cid=".$c_toon['cid']."&lang=".$c_toon[iso]."&runtime=1>".$c_toon['native']."</a></h3></li>"; } echo "</ul></p>"; ?> <?php include "includes/footer.inc.php"; ?> |
Hoe zou ik dat hier het beste kunnen doen? Gewoon bovenaan elke header.inc.php een SQL-query in gebruik nemen die $titel zet? Die vervolgens in header.inc.php als titel gebruikt wordt?
Ik weet wel een manier om het te realiseren, dat is dus elke pagina aanpassen en indien mogelijk de SQL query omhoog plaatsen. En anders gewoon een extra query neerzetten en boven header.inc.php een titel programmeren. Het zou makkelijk zijn als $titel bepaald kon worden in het midden van het bestand, dus na header.inc.php.
Heb dit weekend best veel (3 uur) programmeerwerk overnieuw moeten doen vanwege inefficiënt design van de MySQL database, wil deze site gewoon goed aanpakken en wat bijleren tijdens het proces. Zit er bijvoorbeeld aan te denken om SmartyTemplate te gebruiken of een framework, al wordt het eerste me door veel PHP-fanatiekelingen afgeraden en het laatste heb ik weinig over gehoord. Wil ook niet te veel vast zitten aan een lastig opzetbare webserver installatie voor mijn site.