Hallo liebe Leute,
ich glaube ich habe mein Problem schon fast gelöst. Ich möchte einfach, dass meine Seite, die als string in $tmp gespeichert ist, nach einem Wert aus einem Datensatz aus meiner Datenbank durchsucht wird (ein Wort). Findet die foreach Schleife dann einen Datensatz der den gleichen Wert hat wie ein String in meiner $tmp, soll dieser String einfach mit einem Link "ergänzt" und überschrieben werden.
Im Endeffekt soll man auf meiner Website bestimmte Wörter anklicken können, wo sich dann ein Fenster öffnet, wo bestimmte Daten aus meiner Datenbank enthalten sind.
Mein jetziger Quelltext sieht so aus:
<?php
$woerter_jlpt_n5_data = array();
include 'database_login.php';
if($db){
$db->query("SET NAMES 'utf8'");
$result = mysqli_query($db,'SELECT kanji, hiragana, deutsch, englisch, iadjektiv, naadjektiv, transitiv, intransitiv, ichidan, godan, wortart, id FROM woerter_jlpt_n5');
while ($row = mysqli_fetch_object($result))
{
$woerter_jlpt_n5_data[] = array(
'kanji' => $row->kanji,
'hiragana' => $row->hiragana,
'deutsch' => $row->deutsch,
'englisch' => $row->englisch,
'iadjektiv' => $row->iadjektiv,
'naadjektiv' => $row->naadjektiv,
'transitiv' => $row->transitiv,
'intransitiv' => $row->intransitiv,
'ichidan' => $row->ichidan,
'godan' => $row->godan,
'wortart' => $row->wortart,
'id' => $row->id
);
}
}
if(empty($woerter_jlpt_n5_data)){
$case_error = '<p class="database_error">Leider gab es ein Problem mit der Datenbank.</p>';
$tmp = str_replace('{$woerter_database}', $case_error, $tmp);
}
@mysqli_close($db);
if(!empty($data))
{
// create HTML
foreach ($woerter_jlpt_n5_data as $set)
{
$word = '%1$s';
if (preg_match($word.'$', $contents))
{
$kanji_explanation = sprintf(
'<a href="#s%12$s">'.$word.'</a>'
.'<dl id="s%12$s">'
.'<dt>ID</dt><dd>%12$s</dd>'
.'<dt>Hiragana</dt><dd>%2$s</dd>'
.'<dt>Deutsch</dt><dd>%3$s</dd>'
.'<dt>Englisch</dt><dd>%4$s</dd>'
.'<dt>I-Adjektiv</dt><dd>%5$s</dd>'
.'<dt>Na-Adjektiv</dt><dd>%6$s</dd>'
.'<dt>Transitiv</dt><dd>%7$s</dd>'
.'<dt>Intransitiv</dt><dd>%8$s</dd>'
.'<dt>Ru-Verb</dt><dd>%9$s</dd>'
.'<dt>U-Verb</dt><dd>%10$s</dd>'
.'<dt>Wortart</dt><dd>%11$s</dd>'
.'</dl>',
htmlspecialchars($set['kanji']),
htmlspecialchars($set['hiragana']),
htmlspecialchars($set['deutsch']),
htmlspecialchars($set['englisch']),
htmlspecialchars($set['iadjektiv']),
htmlspecialchars($set['naadjektiv']),
htmlspecialchars($set['transitiv']),
htmlspecialchars($set['intransitiv']),
htmlspecialchars($set['ichidan']),
htmlspecialchars($set['godan']),
htmlspecialchars($set['wortart']),
htmlspecialchars($set['id'])
);
$tmp = str_replace($word, $kanji_explanation, $tmp);
}
htmlspecialchars($set['kanji']);
}
}
?>
Alles anzeigen
Die login.php ist einfach nur der Login zu meiner Datenbank. Der funktioniert.
Es wird auf meiner Website kein Fehler oder Notiz ausgegeben. Alles ist so, wie als hätte ich das script garnicht eingefügt.
Vielen Dank schonmal für eure Hilfe,
Liebe Grüße,
Simon P.