Suchfunktion

medico

Erfahrenes Mitglied
Hallo Leute,

ich bin am verzweifeln....also ich bin jetzt seit ein paar Tagen dabei mich mit PHp auseinandern zu setzen...

Ich möchte ein suchfunktion für meine DB erstellen...bin auch schon relativ weit gekommen, nun habe ich nur ein problem...
Ich habe z.B. das Wort "Eisenbahn" in der DB stehen und wenn ich jetzt in die Suche das Wort "Eisen" eingebe findet er nichts....
Wie kann ich es machen das er alles durchsucht?

Gruß Medico
 
Geht mit der SQL-Anweisung:
Code:
SELECT feldnamen
FROM tabellennamen
WHERE feldname LIKE 'Eisen%';
Bei feldname LIKE ... gibts du den Namen des Feldes ein das nach dem Text durchsucht werden soll.
 
Mit den Feldnamen hat sich erledigt...
Wie kann ich es machen das ich nach zwei wörtern suche die aber nicht unbedingt hintereinader in der DB stehen?
 
mit einer zusätzliche OR Abfrage

SELECT feldnamen
FROM tabellennamen
WHERE feldname LIKE 'Eisen%' OR feldname LIKE 'suchwort%'

% steht bei SQL für beliebiges Zeichen oder String

und das zeichen kann überall eingesetzt werden: Anfang Mitte oder ende :-)
 
Und das funktioniert auch wenn ich ein normal suchformualr habe mit einen Textfeld vo der sucher 2 wörter eingibt?

Wenn das geht und ich das richtig verstehe muss der code ja so aussehen:

SELECT feldnamen
FROM tabellennamen
WHERE feldname LIKE 'suchwort%' OR feldname LIKE 'suchwort%'

Oder verstehe ich das falsch!?
 
Also mit der Suche habe ich jetzt hinbekommen...
aber wie bekomme ich es hin das wenn das Ergebniss null ist ein Satz angezeigt wird "Leider keine Treffer"?

Ich habe es schon hinbekommen wenn kein Suchwort eingegeben wurde das dann eine Text kommet "Bitte Suchwort eingeben"...

Hier noch mal mein Code
PHP:
//Verbindung herstellen 
$db = mysql_connect("localhost", "xxx", "xxx"); 
mysql_select_db("xxx",$db); 

$search1 = str_replace(" ","%' OR fliess LIKE '%",$stichwort); 

//Daten auslesen 
$result = mysql_query("select * from xxx WHERE xxx LIKE '%".$search1."%' OR xxx LIKE '%".$search1."%' OR xxx LIKE '%".$search1."%' ",$db); 


if(strlen($stichwort)==0) { 
echo "Bitte geben Sie ein Suchwort ein!"; 
exit; 
} 

$zaehler=1; 
while ($daten = mysql_fetch_array($result))  { ?> 

        <td width=254 valign=top> 
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="254" id="table1"> 
            <tr> 
                <td><b><font face="Verdana"><span style="font-size: 9pt"><? echo $daten[text]; ?></span></font></b></td> 
            </tr><hr> 
        </table> 

<? 
if ($zaehler=="1" or $zaehler=="2") 
        { 
        echo "</td>"; 
        $zaehler++;     
        } 
     
    else { 
        echo "</td></tr><tr>"; 
        $zaehler=1; 
        } 
} 
?>

Gruß Medico
 
probiers mal mit num rows
PHP:
$ergebnis = mqysl_num_rows($result);
if($ergebnis=="" or $ergebnis=="0"){
echo "Leider keine Treffer";
}
ist aber nur n vorschlag.....ausprobiert habe ichs nicht! - mfg flo:-)
 
wie macht man dass, wenn man die Strings nach denen man gerne suchen möchte selber eingeben muss

Und ist es möglich die Ergebnisse in einer anderen Tabelle zu speichern?
 
Zurück