---
title: "Hämta och skriva ut språkvariabel från MySql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/127974-hämta-och-skriva-ut-språkvariabel-från-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Folkbitar"
published: "2005-05-10T18:58:20.000Z"
updated: "2005-05-11T09:26:47.000Z"
replies: 7
views: 343
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/127974-hämta-och-skriva-ut-språkvariabel-från-mysql"
---

# Hämta och skriva ut språkvariabel från MySql

## #1 — Folkbitar, 2005-05-10T18:58Z

Jag använder mej av variabler för att styra vilket språk min sida ska vara på. typ $hej = "hello".

Ett par av sidorna visar en massa bilder. Dessa hämtar jag ur en mysql-databas, där jag har sparat sökväg till bilden samt en liten text som är tänkt att visas under bilden.

Nu till min fråga.
Jag vill från databasen hämta en språkvariabel tillsammans med bilden.
Jag har försök att lägga variablen i databasen och sedan hämta den,
men infon från språkfilen hämtas inte och variablen skrivs ut som en variabel.
Så här skriver jag ut den: 

```php
<?=$row_foton['title']; ?>
```

Hur ska jag bära mej åt?

/anders

Permalänk: https://www.webforum.nu/p/127974

## #2 — Pedda, 2005-05-10T19:13Z

Ta bort ;

\<?=$row_foton\['title'\]?\>

Permalänk: https://www.webforum.nu/p/1607956

## #3 — Folkbitar, 2005-05-10T19:20Z

> **Pedda skrev:**
>
> Ta bort ;
> 
> \<?=$row_foton\['title'\]?\>

Hej!

Nej, det hjälpte tyvärr inte.

/anders

Permalänk: https://www.webforum.nu/p/1607960

## #4 — Pedda, 2005-05-10T19:24Z

Ok, hur ser språkfilen ut, och vad är det egentligen du sparar i databasen?

Permalänk: https://www.webforum.nu/p/1607961

## #5 — Folkbitar, 2005-05-10T19:37Z

Språkfilerna är uppbyggda så här:

$hej = "hello"  osv

I databasen sparar jag bara sökväg till bilden,
och texten som ska hänga med bilden.

Texten är inskriven i en varchar-kolumn,
och där provade jag att istället för texten
skriva in min variabel.

Permalänk: https://www.webforum.nu/p/1607966

## #6 — spango, 2005-05-11T08:02Z

Jag skulle rekommmendera något i stil med följande. Språkfil:

```php
$lang['hej'] = 'Hello';
$lang['adjö'] = 'Goodbye';
```

D.v.s. du använder en associativ array i stället för en dröse lösa variabler. Sen kan du göra en funktion som går igenom en text och letar upp variabler, m.h.a. preg_replace:

```php
function localize_string($str){
	global $lang;
	$pattern = '/\$\\{(\\S+)\\}/e';
	$action = '$lang["\\1"]';
	return preg_replace($pattern, $action, $str);
}
```

Den här koden antar att variabelnamnen i texten som ska översättas är omslutna av {måsvingar} och föregås av $-tecken. Så om du har en texten *${hej} och ${adjö}!* och kör den genom localize_string, blir det samma resultat som om det stått *"$lang\[hej\] och $lang\[adjö\]!"* i PHP-koden. I ditt fall skulle du alltså till slut skriva:

```php
<?= localize_string($row_foton['title']); ?>
```

Permalänk: https://www.webforum.nu/p/1608092

## #7 — Folkbitar, 2005-05-11T09:19Z

Hej Spango!

Jag ser poängen här.

Men det var ju attans synd att jag har
kommit nästan till slutet i byggandet.
Det är bara dom här bildsidorna kvar. :l 

Men, men... det är bara att köra vidare.

Tack :bire 

/anders

Permalänk: https://www.webforum.nu/p/1608124

## #8 — spango, 2005-05-11T09:26Z

Du kan göra det med lösa variabler också, bara genom att byta ut innehållet i $action mot *'$\_GLOBALS\["\\1"\]'*, om jag inte misstar mig.

Permalänk: https://www.webforum.nu/p/1608126

---

Tråden på webben: https://www.webforum.nu/amne/php/127974-hämta-och-skriva-ut-språkvariabel-från-mysql
