Klein0r
Erfahrenes Mitglied
Meine Umsetzung sieht wie folgt aus:
Meine search.php
Funktioniert super
Bei solchen Ergänzungen rentiert sich der etwas kompliziertere Aufbau des Systems Hier noch ein Beispiel meiner videos.php in der ich nun die Suchfunktion überschreibe:
Muss ich mal sehen wie glücklich ich damit bin Mir fällt bestimmt noch was ein!
Aber bisher bin ich schon sehr happy über das Ergebnis!
lg
PHP:
class SearchResult {
private $linkname;
private $link;
public function SearchResult($linkname, $link) {
$this->linkname = $linkname;
$this->link = $link;
}
public function getName() {
return $this->linkname;
}
public function getLink() {
return $this->link;
}
}
Meine search.php
PHP:
class inc_search extends IncludeModel {
public function show_content_of_file() {
draw_header('Suche');
$this->show_search_formular();
draw_bottom();
$anyresult = false;
draw_header('Suchergebnisse');
if (isset($_POST['searchit'])) {
// Suche starten
$search = $_POST['search'];
$pfad="./links/";
$verz=opendir($pfad);
while ($file = readdir($verz)) {
if (filetype($pfad.$file) != "dir" && substr($pfad.$file, strlen($pfad.$file)-3, 3) == 'php') {
$filename = substr($file, 0, strlen($file)-4);
try {
$class = IncludeModel::factory($filename);
$obj = new $class($filename, $this->parameters, $this->sqlconn, $this->user, $this->bbcode);
$results = $obj->search_string($search);
if ($results != null) {
$anyresult = true;
$this->show_single_line('Ergebnisse im Bereich '.ucfirst($filename));
draw_devider();
foreach($results as $result) {
if ($result instanceof SearchResult) {
$this->show_single_line('<a href="'.$result->getLink().'">'.$result->getName().'</a>');
}
}
}
}
catch (Exception $e) {
$class = null;
}
}
}
}
if (!$anyresult) {
draw_status('Ihre Suche brachte keine Ergebnisse');
}
draw_bottom();
}
private function show_single_line($content) {
echo '
<tr>
<td class="content_w">
'.$content.'
</td>
</tr>
';
}
private function show_search_formular() {
$search = $_POST['search'];
echo '
<tr>
<td class="content_w">
<form method="POST" action="./'.$this->filename.'.html">
<table border="0" cellspacing="0" cellpadding="2" align="center" width="100%">
<tr>
<td width="50%">
Suchbegriff:
</td>
<td width="50%"><input type="text" name="search" maxlength="100" value="'.$search.'"></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="Begriff suchen" name="searchit">
</td>
</tr>
</table>
</form>
</td>
</tr>
';
}
}
Funktioniert super
Bei solchen Ergänzungen rentiert sich der etwas kompliziertere Aufbau des Systems Hier noch ein Beispiel meiner videos.php in der ich nun die Suchfunktion überschreibe:
PHP:
protected function search_string($value) {
$results = array();
$sql3 = $this->sqlconn->queryResult("SELECT id,title FROM page_video WHERE title LIKE '%$value%' ORDER BY id desc;");
if ($sql3->getNumberOfResults() > 0) {
while($row3 = $sql3->getObjOfArray()) {
$obj = new SearchResult($row3->title, './'.$this->filename.'-'.$row3->id.'.html');
array_push($results, $obj);
}
}
else {
$results = null;
}
return $results;
}
Muss ich mal sehen wie glücklich ich damit bin Mir fällt bestimmt noch was ein!
Aber bisher bin ich schon sehr happy über das Ergebnis!
lg