WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Lexikon Wörter erkennung » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Bitburki
vielen Dank, das wars ... Problem gelöst ))
von bastir
Ich würde das dann so machen, daß ich erst alle Begriffe (und deren ID's) aus der Datenbank hole:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
$qSQL = "SELECT id, begriff FROM lexikon";
$rSQL = MYSQL_QUERY($qSQL);
while ($line=MYSQL_FETCH_ARRAY($rSQL))
{
    $search[]="/$line[begriff] /";
    $replace[]='<a href="foo.php?id=$line[id]">$line[begriff]</a> ';
}

Nun hast du halt ein array mit den Begriffen ($search[0-x]) und den dazugehörigen links ($replace[0-x])

Nun kannst du bei der Ausgabe einer Beschreibung (bei mir jetzt mal $expl genannt) doch
einfach mit preg_replace() die Begriffe ersetzen lassen:

$expl = preg_replace($search, $replace, $expl);
damit sollten dann die gesuchten Begriffe durch einen Link ersetzt sein!
von Bitburki
Das # Zeichen ist immer noch drin... das braucht man dann doch gar nicht mehr, oder doch?

Ich versteh auch nicht warum die ID per $_GET['id'] in Zeile 14 und 17 geholt wird. Woher soll die kommen?
Er soll doch über alle Einträge im lexikon drüberschaun.
Hab's schon mit ein paar Anpassungen versucht, aber ich kriegs einfach nicht auf die Reihe.
Hab ebenfalls eine Tabelle mit "ID, Begriff, Definition" und will in der Definition die Wörter mit <a href="anzeige.htm#begriff">begriff</a> zum jeweiligen Begriff verlinken, die ich schon in der Datenbank erfasst habe
von Andreas S
Wie ich schon oben gesagt habe, ich bin mir nicht 100% sicher ob ich deine Frage richtig verstehe. Aber Ich hab mir deine Beschreibung noch einmal durchgelesen und das Skript umgeschrieben und komplettiert;
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29:
<?php
    $conn = mysql_connect("localhost", "user", "password");
     
    if (!$conn) {
        echo "Keine Verbindung zur DB: " . mysql_error();
        exit;
    }
     
    if (!mysql_select_db("mydatabase")) {
        echo "Kann mydatabase nicht auswählen: " . mysql_error();
        exit;
    }
     
    $query = mysql_query("SELECT id, begriff, beschreibung FROM tabelle WHERE id='".addslashes($_GET['id'])."' LIMIT 1");
    if ($row = mysql_fetch_assoc($query)) {
        do {
            $query = mysql_query("SELECT id, begriff, beschreibung FROM tabelle WHERE id <> '".addslashes($_GET['id'])."'");
            while ($row2 = mysql_fetch_assoc($query)) {
                $beschreibung = preg_replace('#'.preg_quote($row2['begriff']).'#is', "<a href=\"index.php?id=" . $row2['id'] . "\">" . $row2['begriff'] . "</a>", $row['beschreibung']);
            }
            echo "Begriff: " . $row['begriff'] . "<br>\n";
            echo "Beschreibung: " . nl2br($beschreibung);
        }
        while ($row = mysql_fetch_assoc($query));
    } else {
        echo "Dieser Eintrag existiert nicht!";
        exit;
    }
?>

Speicher den Code als index.php ab.
Der gewünschte Begriff und dieBeschreibung wird anhand der ID abgerufen, also, z.b: "index.php?id=1", aber ich denke das weisst du schon selbst.

1. Verbindung zu Mysql und selektierung deiner DB.

2. Abfrage des gewünschten Eintrages anhand der ID. Wenn kein Eintrag existiert; Fehlermeldung ausgeben.

3. Abfrage aller Einträge ausser der aktuellen ID.

4. Mit while() und mysql_fetch_assoc() wird das Ergebnis durchlaufen.

5. In der Schleife selbst wird die Beschreibung mit preg_replace() durchsucht ob eines der zu suchenden Begriffe vorhanden ist. Ist das der Fall, wird eben dieser Begriff mit der id verlinkt.

6. Ausgabe von Begriff und Beschreibung.

So, Ich hoffe, dass das eher deinen Wünschen entspricht, wenn nicht, einfach nochmal nachfragen.
von andy1983
irgend wie versteh ich langsam nimmer was dein script machen soll, sorry kann auch an der Uhrzeit liegen

Nach oben