Login  Regeln Aktuelles Datum und Uhrzeit: 09.01.2009, 01:12  
Startseite
Registrieren
Profil
Suchen
Mitgliederliste
Verzeichnis
Impressum



Partner
kostenlose Homepage
Fussball
Kostenloses Forum
SMS kostenlos
Webhosting
Webmasterportal
Kostenlos
Kredit ohne Schufa
Esoterik-Forum
Selbsthilfeforum
Artikel Backlink
Datenrettung
Datenbankabfrage mit + und ,

 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Serverseitige Websprachen
Vorheriges Thema anzeigen Nächstes Thema anzeigen 
Autor Nachricht
swasimodo
User [User]
User



Anmeldung: 28.08.05
Beiträge: 16
Wohnort: Leipzig

BeitragVerfasst am: 29.03.2006, 05:34    Titel: Datenbankabfrage mit + und , Antworten mit Zitat

Hallo,

ich habe auf meiner Homepage eine Datenbankabfrage, die nur mit einem Suchbegriff funktioniert. Ich möchte sie so umprogrammieren, dass sie auch mit zwei oder mehr Begriffen funktioniert. Bei + müssen beide Suchbegriffe in der Datenbank stehen. Bei , reicht einer der Suchbegriffe aus.

Code:

<FORM name="form1" method="POST" action="Bildersuche_original.php" target="Bildersuche"> <!-- php-anfrage -->
            <FIELDSET>
            <LEGEND class="grauerText"> Suchanfrage:<br>
            </LEGEND>
            <span class="kleinerText"> hier eintragen </span>            
            <input name="keyword" type="text" id="keyword" size="30">
            </FIELDSET>
                  
               <table width="300" border="0" cellspacing="4" cellpadding="2">
  <tr>
    <td>&nbsp;</td>
    <td align="right"><!-- go-button -->
                 <input name="submit" id="submit" type="submit" class="kleinerText"  onClick="self.close();" value="go">
</table>
</FORM>


Wie funktioniert das?

_________________
swasimodo


Nach oben
Private Nachricht senden
Metaman
Power-Poster [User]
Power-Poster



Anmeldung: 20.11.05
Beiträge: 636

BeitragVerfasst am: 29.03.2006, 08:48    Titel: Antworten mit Zitat

also willst Du den User die Option + und , anbieten
dann must du das Suchwort aufsplitten
das blöde ist nur das der User ja auch + und , zusammen benutzen könnte Lachen
und dann wird es etwas verzwickter
darum ist es wesentlich einfacher, wenn Du auf dieses + und , verzichtet, und statt dessen neben dem Suchfeld ein Auswahlmenü oder zwei Optionsfelder stellst mit den Optionen UND , ODER
z.b.
Code:
<FORM name="form1" method="POST" action="Bildersuche_original.php" target="Bildersuche"> <!-- php-anfrage -->
            <FIELDSET>
            <LEGEND class="grauerText"> Suchanfrage:<br>
            </LEGEND>
            <span class="kleinerText"> hier eintragen </span>           
            <input name="keyword" type="text" id="keyword" size="30">
            <input name="option" type="radio" value="UND" checked>
            UND
            <input type="radio" name="option" value="ODER">
            ODER
            <input name="submit" id="submit" type="submit" class="kleinerText"  onClick="self.close();" value="go">           
                        </FIELDSET>
</FORM>


Dann als erstes den String Prüfen und alle unerwünschten Zeichen rausschmeißen und gleichzeitig auch doppelte Leerzeichen!!
Code:
$suchwort=strip_tags($_POST['keyword']);
   $suchwort= ereg_replace ("[ ]+"," ", $suchwort);

eventuell auch noch weiterre Sonderzeichen, kommas usw, entfernen lassen
damit sollten jetzt mehre worte im String nur noch mit einem Leerzeichen getrennt sein.
diesen teilst Du dann mit explode
Code:
$sucharray = explode(' ', $suchwort);


danach fügst Du den Inhalt des Arrays wieder über eine for schleife zu der eigentlichen Suchabfrage zusammen
Code:
for($x = 0; $x < count($sucharray); $x++){
  $abfrage.= ($x>0)? "$option": "";
  $abfrage.=" like '%".$sucharray[$x]."%' ";
}

Die zweite Zeile hier im Code sorgt dafür das der Wert der Optionsfelder also UND oder ODER in der Abfrage angehängt wird, dies passiert aber erst ab dem zweiten Schleifendurchauf


und nun kannst du deine SQL Abfrage machen
Code:
select * FROM TABELLE WHERE $abfrage


Du must das ganze natürlich noch etwas verfeinern, denn wenn jemand nur ein Suchwort benutzt und das mit einem Leerzeichen am Anfang oder ende versieht könnte es zu fehlern kommen.
aber das ist nur noch kleinkram

_________________
Webmaster Lexikon
Schnäppchensuche
Wenn Du einen Clan Sponsor suchst, schreibe mich NICHT an!!!


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Gehe zu:  

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Brauche Hilfe bei best. Datenbankabfrage justme Serverseitige Websprachen 1 02.01.2006, 12:04 Letzten Beitrag anzeigen
Keine neuen Beiträge Datenbankabfrage PLZ und Fachrichtung... Tomate Einsteigerforum 3 16.12.2005, 00:39 Letzten Beitrag anzeigen
Keine neuen Beiträge Datenbankabfrage Jim Green Einsteigerforum 0 05.07.2005, 15:13 Letzten Beitrag anzeigen
Keine neuen Beiträge Datenbankabfrage verwerten gruenschnabel Serverseitige Websprachen 2 16.04.2005, 11:04 Letzten Beitrag anzeigen
Threadübersicht