Dynamisch naar statisch

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roel -

Roel -

05/02/2011 21:51:00
Quote Anchor link
Beste,

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! :-)
 
PHP hulp

PHP hulp

24/11/2024 21:06:41
 
Jasper DS

Jasper DS

05/02/2011 22:03:57
Quote Anchor link
ik snap je vraag niet echt.. wat wil je juist?
 
Ozzie PHP

Ozzie PHP

05/02/2011 23:28:59
Quote Anchor link
Roel, misschien kun je beter even een voorbeeldje geven van wat je bedoelt. Wat betreft talen is in principe het enige verschil dat je de tekst niet op de pagina typt, maar uit de database haalt.

Dus waar je normaal zou typen:

<p>Welkom op mijn website, ik ben Roel.</p>

zet je nu bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<p><?php echo $welcome_text; ?></p>


Afhankelijk van welke taal is gekozen, wordt nu de juiste tekst uit de database getoond.
 
Roel -

Roel -

05/02/2011 23:55:55
Quote Anchor link
Dat snap ik. Oké ik zal het uitleggen aan de hand van een voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Statisch
echo '3 x 5 = '.(3 * 5);
?>


Hoe doe ik dat dan als ik die echo uit een database haal?
 
Marco Bos

Marco Bos

06/02/2011 00:06:19
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Statisch
echo '3 x 5 = '.(3 * 5);
?>


Hoe doe ik dat dan als ik die echo uit een database haal?


Je bedoelt dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);    
?>


en dan de echo gedeelte

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '$show['iets'] x $show['iets'] = '.($show['iets'] * $show['iets']);
?>
 
Jasper DS

Jasper DS

06/02/2011 10:51:09
Quote Anchor link
Dus 3 en 5 staan in de database?
 
Roel -

Roel -

06/02/2011 11:09:13
Quote Anchor link
Nee, dat bedoel ik niet. Stel, ik heb in m'n database een veld 'content'.
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?
 
Jelmer -

Jelmer -

06/02/2011 12:53:10
Quote Anchor link
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$translations
= array(
    'nl' => '%d x %d is %d',
    'en' => 'You\'ll get %3$d when you multiply %1$d and %2$d'
);

foreach ($translations as $language => $template)
    echo vsprintf($template, array(3, 5, 15));
?>
Gewijzigd op 06/02/2011 13:16:54 door Jelmer -
 
Jasper DS

Jasper DS

06/02/2011 13:00:20
Quote Anchor link
Neen hij bedoelt dan er bijvoorbeeld '3 x 5 = 15' in de tabel staat en dat php 3 x 5 ook echt moet uitwerken?

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'])
 
Roel -

Roel -

06/02/2011 13:10:04
Quote Anchor link
Thx Jelmer, dat is precies wat ik zocht!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.