Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Suchskript

Diskussion: Suchskript im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Moin ich möchte ein Such Skript machen und habe es folgender maßen gemacht. PHP-Code: <?php //SuchSkript if ( $seite  ==  ...

Antwort
Alt 16.04.06, 14:20   #1 (permalink)
ba2
Guest
 
Likes:
Standard Suchskript

Anzeige

Moin ich möchte ein Such Skript machen und habe es folgender maßen gemacht.

PHP-Code:
<?php
//SuchSkript
if ($seite == "suche")
{
$suche = ($_POST["suche"]);

$abfrage "SELECT * FROM lexikon WHERE name LIKE '%".$suche."%' OR text LIKE '%".$suche."%' ORDER BY name ASC";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   {
   
$text $row->text;  
   
$text eregi_replace("$suche""<b></i><big><span style=\"background-color: #FFFF00\">$suche</span></big></b>"$text);
   echo 
$text;
   }
}
else
{
echo 
"
<form action=\"suche.php?seite=suche\" method=\"post\">
<input type=\"text\" size=\"15\" maxlength=\"50\"
name=\"suche\" value=\"SUCHE\">
<input type=\"submit\" value=\"LOS\">
</form>\n"
;
}
?>
Jetzt ist das Problem
zbsp.
$row->text = "HALLO ich bin Benjamin"

und ich suche "Hallo",
das funktioniert jetzt

suche ich aber zbsp Hallo Benjamin, werden keine resultate mehr angezeigt, wie muss ich das angehen das nicht nur zusammenhengende Wörter ausgegeben werden?

mfg und frohe Ostern by BA2
  Mit Zitat antworten
Alt 16.04.06, 16:05   #2 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
du musst nach: Hallo%Benjamin suchen.
Elderan ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 16.04.06, 16:22   #3 (permalink)
ba2
Guest
 
Likes:
Standard

OK, dan ersetze ich alle leerzeichen durch %

aber dan funktioniert die einfärbung nicht mehr

siehe zeile 12
  Mit Zitat antworten
Alt 16.04.06, 22:00   #4 (permalink)
 
Registriert seit: 04.01.05
Sunrize Leistung: Facit NTK
Likes: 0
Standard

Im kleinen geht das gut, wenn Du aber nen größeren Text (zb. Forumsdatenbank) durchsuchen magst geht das nicht mehr, da Du zu lange suchen wirst.

Abhilfe schaffen da verschiedene Mechanismen wie zb. die Vektorielle Suche
ich hab n bissl danach gegoogled gerade und so gut wie nichts brauchbares gefunden, außer diese wiki artikel:
http://de.wikipedia.org/wiki/Information-Retrieval
http://de.wikipedia.org/wiki/Vektorraum_Retrieval
vielleicht schreib ich bei zeiten mal n Tutorial dazu.

Hendrik
Sunrize ist offline   Mit Zitat antworten
Alt 16.04.06, 22:45   #5 (permalink)
ba2
Guest
 
Likes:
Standard

Ich habe auch ziemlich lange gegoogled und nix brauchbares gefunden, wäre toll wenn du mal nen Tutorial schreiben würdest!

Muss ich mich jetzt mal intensiv mit auseinnander setzen.

EDIT
Ich hab mir gedacht das ich die Variable $suche in wörter auf splitte, abe wie macht man sowas???
ich möchte schon das das hervorheben der suchwörter bleibt, wenn ich jetzt aber von $suche die leerzeichen in % umwandle funktioniert das nicht mehr, ich vermute mal das ich das ganze dann gesplitten im array legen müssste oder?


mfg ba2
  Mit Zitat antworten
Alt 16.04.06, 23:51   #6 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Splitten kannst das ganze mit
PHP-Code:
<?php
....
$arrSplitWords explode(" "$strSearch);
....
?>
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 17.04.06, 00:05   #7 (permalink)
ba2
Guest
 
Likes:
Standard

PHP-Code:
<?php
$teilesuche 
explode(" "$suche);
?>
OK das funktioniert soweit sehr gut

jetzt ist mein Problem woher weiss ich wie viele werte der array hat?

EDIT:

habs rausgefunden

PHP-Code:
<?php
$teilesuche 
explode(" "$suche);
echo 
count($teilesuche);
?>
EDIT
PHP-Code:
$a=0;
$suche = ($_POST["suche"]);
$teilesuche explode(" "$suche);
$teilsucheanzahl =  count($teilesuche);
$zahl $teilsucheanzahl 1
$suchbegriff "(text LIKE '%".$teilesuche[0]."%'";


while(
$a $zahl)
   {
   
$a++;
   
$suchbegriff .= " AND text LIKE '%".$teilesuche[$a]."%'";
   }
$suchbegriff .=")"
ich hab das ganze jetzt so realesiert
  Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Suchskript
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61