Maske mit Keywords versehen?

Hi, ok! Wie kann ich denn einfach die Keywords einzeln aus der Datenbank auslesen lassen die passend zum Suchbegriff sind, ohne dass der komplette Keywordseintrag ausgegeben wird? Ich verzweifel hier grad iregendwie ;)

PHP:
$res = mysql_query("SELECT * FROM $essay WHERE keywords LIKE '%".$_GET['q']."%' ");
while($row=mysql_fetch_object($res)) {
	$ergebnis = explode(",",$row->keywords);
 echo $ergebnis[0];
}

Das gibt halt auch nur das erste Keyword aus dem kompletten Keyword wieder. Liegt ja an dem echo $ergebnis[0];...argh :D
 
Wo liegt denn das Problem das komplette array auszugeben? Nutze entweder eine ForSchleife in der Verbindung mit count() oder gleich eine Foreach Schleife. Also eigentlich sind das Grundlagen...
 
Hi, habe mir mal die foreach() Funktion angeguckt und eingebaut:

PHP:
$res = mysql_query("SELECT * FROM $essay WHERE keywords LIKE '%".$_GET['q']."%' ");
while($row=mysql_fetch_object($res)) {
	
	
	$ergebnis = explode(",",$row->keywords);
	
	foreach($ergebnis as $resultat)
  {
    echo $resultat;
    echo "<br>";
  }
}

Er gibt mir jetzt alle eingespeicherten Keywords untereinander an und als letzte sagt er undefined?
 
Vermutlich ist in dem Keyword-String ein Komma ganz hinten und es kommt auch nichts mehr danach. Einfach mal

PHP:
echo $row->keywords;

machen.
 
Hi, ich habe mit Hilfe noch ein paar Fortschritte mit dem Skript gemacht: Er zeigt jetzt aufgelistet die Suchbegriffe auf! Mit dem Suchergebnis soll nun der Downloadlink zu dem Dokument angeboten werden. Dieser klappt aber nicht?! Er setzt den Suchbegriff einfach in die Suchmaske rein ohne den Download zu starten! Vielleicht findet ihr den Fehler, ich bin da überfragt :/

Hier die Suchfunktion:

PHP:
$res = mysql_query("SELECT * FROM $essay WHERE keywords LIKE '%".$_GET['q']."%' ");
while($row=mysql_fetch_object($res)) {

$ergebnis = explode(",",$row->keywords);

foreach($ergebnis as $resultat)
{
 if (strrpos(strtolower($resultat),strtolower($_GET['q'])) !== FALSE)
 {
     if ($row->refvorname == "") 
{
    $referent = $row->refnachname;
} else
{
    $referent = $row->refnachname.", ".$row->refvorname;
}
     echo $resultat."|<a href=\"".$PHP_SELF."?id=".$row->id."\"><strong>".$referent.":</strong>".htmlentities($row->titel,ENT_COMPAT,'UTF-8')."</a>\n<br/>";
 }
}
}

Hier die Maske mit JS:

HTML:
<p><input id="autocomplete" type='text'></p>
 
<script type="text/javascript">
function selectItem(li) {
return true;
}
function formatItem(row) {
return "<strong>" + row[0] + "</strong><br><i>" + row[1] + "</i>";
}
$(document).ready(function() {
$("#autocomplete").autocomplete("search.php", { 
 minChars:3, 
 matchSubset:0, 
 matchContains: 0, 
 cacheLength:1, 
 onItemSelect:selectItem, 
 formatItem:formatItem, 
});
});
</script>

Das Skript basiert auf folgende Autocomplete Funktion: http://www.easy-coding.de/wiki/html-ajax-und-co/autocomplete-tutorial-mit-jquery.html
 
Zurück