Mailinglisten-Archive |
> "Lars Brinkmann" <lbrink at t-online.de>
> Hallo Liste,
>
> ich stehe gerade völlig auf dem Schlauch.
> Ich habe eine Tabelle mit folgenden Feldern:
>
> ID
> LangID
> Identifier
> Local
>
> Als Datensatz also zum Beispiel so:
> 1, DE, Test, Ich bin der lokale Inhalt
>
> Ich möchte nun ALLE Datensätze einer Sprache in ein Array schreiben.
>
> Der Select lautet also wie folgt:
> SELECT Identifier, Local FROM translation WHERE LangID = "DE"
>
> Dann möchte ich auf die Inhalte wie folgt zugreifen:
>
> print $language["Test"];
>
> Ausgegeben werden soll dann "Ich bin der lokale Inhalt";
>
> Mit folgendem Code bekomme ich das jeweils für den letzten Datensatz
> der Tabelle hin. Durch die erneute Zuweisung eines Arrays zu
> $language überschreibe ich den alten Inhalt. Irendwie sehe ich
> gerade den Wald vor lauter Bäumen nicht und schaffe es nicht, mein
> Array zu erweitern ... kann wer helfen?
>
> /* Using PEAR::DB */
> $result = $db->query("SELECT Identifier, Local FROM translation
> WHERE LangID = 'DE' ");
> while ($strip = $result->fetchRow() ) {
> $language = array($ActualLanguage => array($strip["Identifier"] =>
$strip["Local"]));
> }
>
Ich hab dies bei mir wie folgt gelösst:
$query= "SELECT name, content
FROM ".$dbprefix."language_variable_content AS vc,
".$dbprefix."language_variable_names AS vn
WHERE lang_id='$currentLangId'
AND vn.".$variableTyp." = 1
AND vc.varid=vn.id";
if ($this->objDb->query($query))
{
while($this->objDb->next_record())
{
$name=$this->objDb->f('name');
$content=$this->objDb->f('content');
$arrayLangSettings[$name]=$content;
}
}
php::bar PHP Wiki - Listenarchive