Seite 8 von 13

Verfasst: 29.01.2005 11:39
von Gert
Hi....
einfach ein inputfeld mit nem suchen-button und dann nur die präfix_lexique Tabelle mit einem SELECT WHERE Befehl durchsuchen
Könnte das nicht jemand ausdeutschen......versteh nur Bahnhof:-)

Gruss Gert

Verfasst: 29.01.2005 12:30
von pi
also, meine klausurphase is jetzt erst mal vorbei, .. ich hab zwar ein paar links angegeben die eigentlich zusammen mit selfhtml alle fragen beantworten sollten, aber da ich so ne funktion auch brauche, werde ich mich in den kommenden Tagen wohl mal dran setzen, ich kann allerdings nichts versprechen :wink:

Verfasst: 01.02.2005 12:57
von pi
na dann, befolge ich mal mein eigenes Kochrezept:
- einfach ein inputfeld mit nem suchen-button

Code: Alles auswählen

<form action="lexikon.php" method="post">
<input type="text" name="suchwort"></input>
<input type="submit" name="suchen" value="suchen"></input>
</form>
soweit easy :wink:
- und dann nur die präfix_lexique Tabelle mit einem SELECT WHERE Befehl durchsuchen (natürlich muß erst eine Verbindung zur Datenbank hergestellt werden, das hab ich aber nich extra dazu geschrieben, weil das in der Lexikon.php schon geschehen ist)

Code: Alles auswählen

// erst mal die Variablen "sichern"
if ( isset($HTTP_GET_VARS['suchen']) || isset($HTTP_POST_VARS['suchen']) )
{
   $suchwort = ( isset($HTTP_POST_VARS['suchwort']) ) ? htmlspecialchars($HTTP_POST_VARS['suchwort']) : htmlspecialchars($HTTP_GET_VARS['suchwort']);
}
else
{
   $suchwort = '';
}
// jetzt die Tabelle nach dem Suchwort durchsuchen
if(isset($suchwort))
{
$SQL = "SELECT * FROM phpbb_lexique WHERE titre LIKE '%".$suchwort."%' OR explication LIKE '%".$suchwort."%' ORDER BY titre"; 
// Jetzt wollen wir das natürlich noch ausgeben (in der lexikon.php schon vorhanden):
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) 
{
echo "<b>".$val["titre"]."</b><br>" . "<div align=justify>".$val["explication"]."<br></div>";
}
}
so, ich habs noch nicht getestet, aber das müßte funktionieren, ...
tja, und was lernen wir daraus? mein Kochrezept war Klartext, und mit den beiden angegebene Links hätte man auch selbst drauf kommen können und nicht so lange warten müssen :P

viel spaß damit ;)

Verfasst: 05.02.2005 18:47
von Gert
Hi.....

dein Kochrezept sieht gut aus.
Wo die erste Zutat hinkommt weiss ich..........aber in welche Datei kommt die zweite Zutat?

Und was wird angezeigt wenn der begriff nicht gefunden wird?

Gruss Gert

Verfasst: 05.02.2005 21:32
von pi
also bei der Form muß man natürlich die action ändern je nachdem wo man den zweiten Teil reintut.
Ich hab einmal beide Teile in die Selbe Datei getan (die wo auch das lexikon drin steckt) und einmal hab ich die form noch auf meine Startseite gepackt, ...
um deine Frage noch mal explizit zu beantworten:
der zweite Teil kommt in die Datei, die du vom lexikon-mod mitgeliefert bekommen hast, in der auch die Begriffe aufgelistet werden.
Das Ergebnis kannst du dir auf meiner Seite (Link in der Signatur) ansehen, ich habe zusätzlich noch einen highlighter eingebaut, hier:
http://aidan.dotgeek.org/lib/?file=func ... hlight.php
zu finden :wink:

Verfasst: 08.02.2005 17:28
von TomW
pi hat geschrieben:in den CSS-Definitionen:

.lettre2 für den Buchstaben der gerade ausgewälhlt ist
Bei mir wird lettre2 nie benutzt, da der gewählte Buchstabe nicht mit übertragen wird, $lettre ist also leer, was muss ich da ändern?

TomW

Verfasst: 09.02.2005 10:54
von pi
Das Problem hatte ich auch mal, ich glaube das hab ich hier sogar gepostet, und als Lösung hab ich folgendes bekommen:

Code: Alles auswählen

if ( isset($HTTP_GET_VARS['lettre']) || isset($HTTP_POST_VARS['lettre']) )
{
   $lettre = ( isset($HTTP_POST_VARS['lettre']) ) ? htmlspecialchars($HTTP_POST_VARS['lettre']) : htmlspecialchars($HTTP_GET_VARS['lettre']);
}
else
{
   $lettre = '';
}
Das liegt an dem, nicht gerade sauberen Code des Mods, zumindest wurde mir das so erklärt :wink:
Ich hoffe das hilft weiter
pi

Verfasst: 09.02.2005 17:34
von TomW
@pi

Es hat geholfen, der Teil musste weiter oben in die Datei gesetzt werden.

Kannst du mir mal sagen wie du den highlighter eingebaut hast?

Danke

TomW

Verfasst: 10.02.2005 02:07
von Rat
hat schonmal jemand daran gedacht das mit dem CMX-Acronym Mod zu kombinieren?
  • Die Datenbank abfrage müsste angepasst werden (kleinigkeit)
  • das parsing korrigiert (wenn ein Acronym in einer erklärung auftaucht gibt's codesalat)
  • für den <acronym> tag müsste evtl. ein ersatz her da dieser nicht grade viele Zeichen anzeigen kann (logisch: ist ja auch nur für akronyme gedacht :D) eine alternative wäre beispielsweise overlib.js)
Das wäre imho eine ideale ergänzung: wenn ein fachwort in einem Forum benutzt wird, wird beim mousover eine erklärung mittels overlib.js angezeigt und beim klicken geht die lexikonseite auf, um evtl. querverweisen zu folgen ...

Verfasst: 10.02.2005 18:10
von Rat
Gert hat geschrieben: Und was wird angezeigt wenn der begriff nicht gefunden wird?
erstmal nichts.
wenn du das:

Code: Alles auswählen

//wurde nichts gefunden wird dies gemeldet
if(!mysql_num_rows($res))
         {
         echo "<tr><td>";
         echo "Der Begriff "<b>".$suchwort."</b>" konnte in der Datenbank nicht gefunden werden.<br>"
         . "</td></tr>";
         }
//wurde etwas gefunden, erfolgt die ausgabe
	  else
.
.
.
noch mit einbaust, weiss der suchende bescheid :)