20. januar 2006 - 12:23Der er
6 kommentarer og 1 løsning
Udtræk variabler til brug andetsteds
Hejsa
Er ved at oversætte en side til flere sprog Har til formålet lavet en database over "faste tekster" dvs. tekster som skrevet direkte i koden på designet...
Mit problem er at hvis jeg eks. ville lave en sprog fil til hvert sprog ville variablerne i den fil se sådant her ud
$a1 = "noget tekst"; $a2 = "noget andet tekst"; osv....
Men hvordan hulen får jeg det trukket ud af databasen, så det står sådant i den fil hvor jeg udtrækker det....
De variabler jeg skal bruge er $row[0] - indeholder et id nummer hvor der så skal sættes et a foran $row[2] - indeholder den tekst der skal vises der hvor jeg sætter variablen ind $row[3] - indeholder eks. engelsk sprog, men sprogskiftet har jeg styr på, og kan selv fikse... det er listningen af diverse variabler jeg har problemer med...
id - Bare fordi du skal have en unik key string_id - Denne id bruges til at identificere en bestemt vending. Dvs. at både den engelske og danske version af 'hej' har samme string_id. lang - Fortæller hvilket sprog denne post er text - Selve teksten på det sprog som er angivet i lang
Så skal du bruge en funktion a'la det her:
function getText($id, $lang = 'da') { $res = mysql_query("SELECT text FROM tabel WHERE lang='$lang' AND string_id=$id); if($row = mysql_fetch_assoc($res)) return $row['text']; return 'Ukendt streng'; }
Du bruger så f.eks. `echo getText(7, 'en')` til at hive teksten ud af databasen på det relevante sprog.
Jeg ville personligt foretrække tekstfiler med oversættelser, da det både er nemmere at lave nye oversættelser og ikke kræver særlig meget af serveren. Alle de database kald kan hurtigt blive dyre. Du kan selvfølgelig også trække alle rækker af det valgte sprog ud i forvejen og gemme dem i et array, og så slå værdierne op det i stedet.
Ville det være nemmere at gemem variablerne i eks. en da.php fil og så hente alle variablerne ind i en formular, og lade dem blive redigeret, for derefter at gemem dem igen i samem fil ??
Det ville ikke være nemmere, men du sparer nogle kræfter når du skal have hevet værdierne ud igen. Og det er jo trods alt bedre at de sider som hele tiden bliver vist kører hurtigt, end at "oversætter siden" som kun sjældent bliver brugt, gør det.
Jeg har strikket et lille script sammen som kan bruges til at redigere tekst filerne:
Hvis man efter hver variabel skriver eks. // tilhøre side 1 // tilhøre side 2 osv.
Vil det så være muligt at få scriptet til at indlæse det der står EFTER // og få det vist efter hver input felt ?? Blot så man ved hvilke side det er man ændre teksten på...
Det kan man vel godt, men så begynder det at blive lidt langhåret. Der er du nødt til at lave et hidden input felt til hver variabel, som så indeholder kommentaren. Derudover skal du så også skille kommentaren ud fra resten.
Og nej, det er ikke noget jeg lige vil bikse sammen ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.