Dynamisch naar statisch
Ik wil weer eens een poging gaan wagen tot het internationaliseren van mijn website. Nu heb ik ooit eens gelezen dat dat met een database het makkelijkste zou zijn.
Oké, met een database. Maar nu komt dus het probleem: als ik statische content heb die ik dynamisch moet maken, hoe verwerk ik dan een berekening of een POST in die dynamische content?
Met een echo kan dat makkelijk, maar ik weet niet hoe je dat met dynamische content zou moeten regelen.
Bij voorbaat dank! :-)
ik snap je vraag niet echt.. wat wil je juist?
Dus waar je normaal zou typen:
<p>Welkom op mijn website, ik ben Roel.</p>
zet je nu bijvoorbeeld:
Afhankelijk van welke taal is gekozen, wordt nu de juiste tekst uit de database getoond.
Hoe doe ik dat dan als ik die echo uit een database haal?
Roel van de Water op 05/02/2011 23:55:55:
Dat snap ik. Oké ik zal het uitleggen aan de hand van een voorbeeld:
Hoe doe ik dat dan als ik die echo uit een database haal?
Hoe doe ik dat dan als ik die echo uit een database haal?
Je bedoelt dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$usernameb = 'NAAM';
$passwordb = 'PASS';
$hostb = 'localhost';
$databaseb = 'DNNAAM';
$connection = mysql_connect($hostb, $usernameb, $passwordb)or die("<br><font size='2' face='Tahoma'><b>Error:</b><br>Kan geen verbinding maken...</font>");
mysql_select_db($databaseb)or die("<br><font size='2' face='Tahoma'><b>Error:</b><br>Kan database niet vinden</font>");
$query = mysql_query("SELECT * FROM `IETS`");
$show = mysql_fetch_assoc($query);
?>
$usernameb = 'NAAM';
$passwordb = 'PASS';
$hostb = 'localhost';
$databaseb = 'DNNAAM';
$connection = mysql_connect($hostb, $usernameb, $passwordb)or die("<br><font size='2' face='Tahoma'><b>Error:</b><br>Kan geen verbinding maken...</font>");
mysql_select_db($databaseb)or die("<br><font size='2' face='Tahoma'><b>Error:</b><br>Kan database niet vinden</font>");
$query = mysql_query("SELECT * FROM `IETS`");
$show = mysql_fetch_assoc($query);
?>
en dan de echo gedeelte
Dus 3 en 5 staan in de database?
In 'content' staat '3 x 5 = 15'
Hoe kan ik ervoor zorgen dat ie dan ook daadwerkelijk die som uitrekent? Niet meer meerdere echo's of meerdere kolommen uit m'n database, maar allemaal uit 'content'.
Heeft eval() hier iets mee te maken?
sprintf voldoet prima en wordt hier vaak ook wel voor gebruikt, of anders iets met str_replace of preg_replace_callback. Maar met sprintf kan je bepalen hoe cijfers en strings geprint moeten worden (met padding, met comma's, met nullen ervoor, volgorde etc) Zie ook printf en vsprintf.
Code (php)
Gewijzigd op 06/02/2011 13:16:54 door Jelmer -
Dan heb je zowizo al 3 kolommen nodig.
id, term 1 , term 2, uitkomst
1, 3, 5, 15
$var = $res['term1']*$res['term2']
echo $res['term1'].'x'.$res['term2'] = '.$var;
en dan kan je controleren met if($var == $res['uitkomst'])
Thx Jelmer, dat is precies wat ik zocht!