Ik heb aan de hand van enkele berichten hier het geluk gehad dat ik informatie uit mijn database heb kunnen halen. Nu wil ik dit gaan toepassen op mijn website, maar wil ik dit direct wat beter doen. Dit zorgt voor makkelijker onderhoud. (dat is de reden dat ik php en database wil gebruiken).

Ik heb enkele standaard data die ik in de database opsla. Zoals het menu, disclaimer en een ander menu. Als ik deze aanpas, hoef ik dit ingevolg nog maar op 1 plek te doen, en niet op 50 plaatsen.

Ik wil dus die waarden in de tabel in een variabele stoppen. Dit is wel gelukt, maar ik wil dit met behulp van een tussenbestand doen.

In de database heb ik een tabel met 2 velden. Naam(index) en inhoud. dan wil ik de volgende informatie in het tussenbestand:

<?php

mysql_connect('host','gebr','ww');
mysql_select_db('naam');

$query_menu = "SELECT inhoud FROM ffm_home WHERE naam = 'menu'";
$result_menu = mysql_query($query_menu);

$query_disclaimer = "SELECT inhoud FROM ffm_home WHERE naam = 'disclaimer'";
$result_disclaimer = mysql_query($query_disclaimer);

$query_movies = "SELECT inhoud FROM ffm_home WHERE naam = 'movies'";
$result_movies = mysql_query($query_movies);

?>


dit is min of meer al keiharde code, maar wel effectief. Stap voor stap wil ik het namelijk doen.

In het doelbestand wil ik de volgende informatie voor het menu neerzetten:

<?php
while($row = mysql_fetch_assoc($result_menu))
{
echo $row['inhoud'];
}
?>


Nu komt mijn vraag. Wat moet ik in het doelbestand zetten om de waarde uit een variabele in het tussenbestand te pakken. Alvast hartelijk bedankt. Geweldige site trouwens dit, haal er veel dingen al uit die ik kan gebruiken.
Wat bedoel je met 'tussenbestand' en 'doelbestand' ? Ik moet daarbij denken aan aparte bestanden (files), maar dat lijkt mij in dit geval zéér onlogisch, je gaat tenslotte niet voor piet snot met een database werken.

Wat je in elk geval moet doen, is iedere resultset (het resultaat van een query) met while-lus uitlezen (fetchen) en iets met de records doen, bv. echoen. Dat kan bv. alleen $row['inhoud'] zijn, maar ook een stuk html kan daar gewoon bijstaan. Denk bv. aan '<li>'.$row['inhoud'] .'[</li>'; om zo een fraaie lijst met resultaten te maken. Dit is de gebruikelijke methode om menu-structuren aan te maken.
Ik denk inderdaad aan aparte bestanden. In het tussenbestand vul ik de variabelen met waarde (o.a. html etc)

In het doelbestand wil ik alleen die variabele opvragen. Anders moet ik aan elk bestand de connectie met de database toevoegen en die variabelen vullen.

Het lijkt me juist handiger om dit op één plek te doen. Voeg ik namelijk een nieuw record toe, en dus een nieuwe variabele, dan hoef ik dat maar op één plek aan te passen en niet in alle php bestanden. Daar wil ik juist van af.
vraag ik hier nu zo iets aparts?
Een database heeft ook cache en kan dit razendsnel uitpoepen. Daarnaast zou je ook bv. in je template-engine kunnen gaan cachen, ook dat maakt de boel razendsnel. Smarty kan je daarbij helpen.

Reageren