Ergebnis 1 bis 2 von 2

Thema: [PHP] Problem mit Suchfunktion

  1. #1
    Azubi(ne)
    Registriert seit
    25.12.2006
    Beiträge
    74
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard [PHP] Problem mit Suchfunktion

    Ich stehe mal wieder vor einem Problem, diesmal vor einem ohne Fehlermeldung. Und zwar versuche ich mittels PHP eine Tabelle in einer MySQL-Datenbank zu durchsuchen. Dabei sollen die Spalten Titel und Beschreibung durchsucht werden. Soweit komme ich zurecht. Damit, falls mehrere Suchbegriffe eingegeben werden, nach jedem Suchbegriff einzeln gesucht wird lasse ich den übermittelten String in ein Array übertragen und jetzt wird es schwierig: Mit einer foreach() Funktion möchte ich zu jedem einzelnen Wert im Array die jeweiligen Spalten durchsuchen lassen. Wenn ich nun aber zwei Suchbegriffe eingebe und einer von diesen in der Spalte 'Titel' und der andere in der Spalte 'Beschreibung' gefunden wird, wird das Ergebnis doppelt ausgegeben. Wenn der erste Suchbegriff gar nicht gefunden werden kann, der zweite aber, wird erst "Keine Einträge gefunden" ausgegeben und im Anschluss der gefundene Datensatz. Wie kann ich das verhindern, dass ein Datensatz doppelt ausgegeben wird oder, wenn mindestens ein Suchbegriff richtig war, trotzdem noch die Error-msg ausgegeben wird?

    Hier mal der Code:
    Code:
    <?php
    	&#125;
    	else &#123;
    
    	$keyword = empty&#40;$_GET&#91;'keyword'&#93;&#41; ? die &#40;"ERROR&#58; Kein Suchbegriff eingegeben! Zur&uuml;ck"&#41; &#58; mysql_escape_string&#40;$_GET&#91;'keyword'&#93;&#41;;
    	$arrkey = explode&#40;' ', $keyword&#41;;
    
    	//Variablen bestimmen
    	
    	$host = "localhost";
        	$user = "stl";
        	$pass = "******";
     	$db = "stl"; 
    
    	// open connection
        	$connection = mysql_connect&#40;$host, $user, $pass&#41; or die &#40;"Verbindung zur Datenbank kann nicht hergestellt werden!"&#41;;
        
        	// select database
        	mysql_select_db&#40;$db&#41; or die &#40;"Datenbank kann nicht ausgew&auml;hlt werden!"&#41;;
    	
    	foreach&#40;$arrkey as $key&#41; &#123;
    	$select= "SELECT DISTINCT Titel, Beschreibung FROM eintragen WHERE Titel LIKE '%$key%' OR Beschreibung LIKE '%$key%'";
    	$query= mysql_query&#40;$select&#41;;
    	if &#40;mysql_num_rows&#40;$query&#41; > 0&#41; &#123;
    	while&#40;$row=mysql_fetch_array&#40;$query&#41;&#41;
    	&#123;
    	echo $row&#91;Titel&#93;;
    	echo $row&#91;Beschreibung&#93;;
    	&#125;
    	&#125;
    	
    	
    	
    	else &#123;
    	echo "Keine Eintr&auml;ge gefunden!";
    	&#125;
    	&#125;
    
    	// free result set memory
    	mysql_free_result&#40;$query&#41;;
    
    	// close connection
    	mysql_close&#40;$connection&#41;;
    	
    	&#125;
    
    	
    	?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Azubi(ne)
    Registriert seit
    27.11.2006
    Beiträge
    86
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Du könntest zwei unterschiedliche Select-Abfragen für Title und Beschreibung machen und die Ergebnisse jeweils in ein Array speichern und dann miteinander vergleichen.

Ähnliche Themen

  1. Suchfunktion
    Von Anita im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 2
    Letzter Beitrag: 20.09.2006, 14:13
  2. Suchfunktion
    Von mopped80 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 06.12.2005, 16:41
  3. Suchfunktion
    Von Antimon im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 31.07.2005, 23:41
  4. Suchfunktion
    Von Ochsenfrosch im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 07.07.2005, 22:31
  5. suchfunktion
    Von Macintosch im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 08.07.2004, 11:37

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •