Ik ben een multilanguage website aan het maken, In Mysql sla ik bepaalde gegevens op, onder andere de naam van een form. Deze naam wil ik aanpassen naar de geselecteerde taal, dit doe ik mbv 'define'

werkend voorbeeld: (laat 'Hello' zien)
define( "WELCOME", "Hello " );
echo WELCOME ;

nu wil ik informatie uit mysql vertalen
// $SelectInfo[1] is hierbij informatie uit mysql met de waarde WELCOME, dit werkt dus helaas niet. Weet iemand wat ik fout doe, of wat de manier is om dit te doen?

define( "WELCOME", "Hello " );
echo $SelectInfo[1]; // $SelectInfo[1] = WELCOME (in mysql db)

Alvast Bedankt :)
Ik verwacht dat 1 geen constante is, dus moet je deze tussen aanhalingstekens zetten. echo $SelectInfo['1'];

Hierbij ga ik er wel vanuit dat jij ergens al op een juiste manier de waarde uit je database in een array genaamd $SelectInfo hebt gezet.

En bedenk dat je eerste waarde binnen een array op lokatie ['0'] zit. Niet op ['1']

Wen jezelf ook aan om variabele met een kleine letter te beginnen, dus $selectInfo in dit geval

@Spike
dat werkt niet zo, een getal bij een array gebruik je zonder quotes. Getallen zet je normaal altijd buiten quotes, tenzij het onderdeel is van een string.


@BPG

http://nl.php.net/constant

Jij zou dus zoiets krijgen:

<?php
echo constant($SelectInfo[1]);
?>
@Spike, getallen behoren niet tot de string familie, dus die moeten buiten quotes.

1 staat in dit geval voor indexnummer, en is dus een getal.

@BPG
je kan toch define("WELCOM",$selectInfo[0]); doen?

laat trouwens eens wat meer van je script zien..
Ow oke. Weer wat geleerd.

Begint zo'n index nummer dat bij 1 of 0?
Die begint inderdaad bij 0, maar het kan wel zijn dat het de 2e geselecteerde kolom is.
Spike schreef op 22.07.2008 14:12
Ik verwacht dat 1 geen constante is

1 is geen 2
1 is geen -45
1 is geen 'tekst'
etc.
1 is altijd 1
Dus is het een constante.

Reageren