Datenbank richtig auslesen

djnelly

Erfahrenes Mitglied
Hallo Leutz...

ich habe ewig nicht mehr mit php gearbeitet und habe mal schnell eine Frage.

Ich habe eine Datenbank mit den Feldern: page, german, english

Ich will also eine Seite in deutsch und in Englisch zur Verfügung stellen.
Und brauche eine Anweisung die das richtige ausliest, welches ich mit einer variable übergebe.

Die Platzhalter Variable habe ich alle schon. Nur muss ich jetzt nur noch die richtige Sprache zuweisen.

Beispiel:

Menüpunkt Startseite:
Datenbankinhalt: page=startseite, german=Startseite, english=home

Platzhalter in der Webseite: $startseite


Wer kann mal schnell helfen ?
 
Also du musst dich mit der Datenbank connecten und die Datenbank auswählen. Dann einfach per

PHP:
$query = "SELECT `german`, `english` FROM `Table` WHERE `page` = 'startseite'";
$result = mysql_query($query);
$adescription = mysql_fetch_array($result);

if($global['language'] == 'de') {
 $startseite = $adescription['german'];
} elseif($global['language'] == 'en') {
 $startseite = $adescription['english'];
}
Wo "Table" steht musst du dein Namen für die Tabelle einttragen. Ich habe hier mal ein Array $global, was die Hauptdaten deiner Seite beinhaltet. Also zb. "language". Habs offen gelassen für mehrere Sprachen, wenn du dann doch mal französisch oder so noch machen willst.
 
Ich hätte's eher so gelöst:
PHP:
<?php
  [...]
  switch($sprache) {
    case 'de': $sprachspalte = 'german'; break;
    case 'en': $sprachspalte = 'english'; break;
    default:   $sprachspalte = 'english'; break;
  }
  $query = "
	SELECT
	        `".$sprachspalte."`
	  FROM
	        `tabelle`
	  WHERE
	      `page` = 'startseite'
	";
  $result = mysql_query($query);
  list($startseite) = mysql_fetch_array($result, MYSQL_NUM);
  [...]
?>
Das schränk die Ergebnismenge schon vorher ein.
 
OK stimme dir zu :) Obwohl du die SQL-Abfrage auch so schreiben kannst ;)

PHP:
$query = " 
    SELECT 
            `$sprachspalte` 
      FROM 
            `tabelle` 
      WHERE 
          `page` = 'startseite' 
    ";

und ab PHP3 (danke an Ben ;) ) so:
PHP:
$query =<<<QUERY
    SELECT 
            `$sprachspalte` 
      FROM 
            `tabelle` 
      WHERE 
          `page` = 'startseite' 
QUERY;

Ich weiß ich bin wieder ein Klugscheisser :-)
 
Zuletzt bearbeitet:
Zurück