php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.11.2007, 00:03  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard PHP suchfunktion (DB Durchsuchen) Problem

Hallo zusammen,
ich habe ein kleines Problem mit meiner suchfunktion, ich sitze seit ner woche davor, und es funktioniert einfach nicht

das problem ist das die variable $conn bei einer anfrage mit meheren wörten immer nur egebnisse nach dem letzten wort der anfrage liefert.
mit einem einzelnen wort gehts wunderbar ich habs schon versucht mit if/else (fügte im mysql AND und OR), einem .= usw... aber nix hatt recht geklappt...

Ich hoffe ihr könnt mir helfen

serach.php
PHP-Code:
<?php
$serach 
$_POST["serach"];

include(
"includes/config.inc");
$connection mysql_connect ("$dbhost""$dbuname""$dbpass") or die ("Keine Verbindung zur Datenbank"); 
mysql_select_db ("$dbname"$connection) or die ("Keine Verbindung zur Datenbank");

echo(
"Ergebnisse in news:<hr size=\"1\">");

            
$serach trim($serach);
   
$phrase explode(" ",$serach);
   for(
$i=0;$i<count($phrase);$i++)  {
   
   
$conn "SELECT * FROM main_news WHERE titel Like '%".$phrase[$i]."%' OR ";
   
$conn .= " text Like '%".$phrase[$i]."%' ";
  
     }
    
 
$erg mysql_query($conn,$connection) or die (mysql_error());
   
     
 while(
$db mysql_fetch_array($erg)){
 if(
$db["titel"] == '' and $db["text"] == ''){
 echo(
"Keine Ergebnisse!");
 }else {
 echo(
$db['titel']."
"
.$db['text']."

"
);
 }
 }
 
 
?>
vielen dank im vorraus...

mfg Kazuya
kazuya ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.11.2007, 00:21  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du überschreibst $conn ja auch bei jedem Schleifendurchlauf.
Zergling-new ist offline  
Alt 04.11.2007, 00:26  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard

ja, das weiss ich, das problem ist wenn ich $conn .= usw mach dann hängt der den sql befehl hinter den ersten und leifert einen error :S
kazuya ist offline  
Alt 04.11.2007, 00:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dann denk nochmal darüber nach, welcher Teil des Statements unabhängig von der Anzahl der Suchbegriffe ist und welcher nicht. Den statischen Teil setzt du außerhalb der Schleife, den variablen innerhalb. Im Moment hast du alles innerhalb.

Ich hab dazu übrigens mal ein Tutorial geschrieben:
http://www.phpfriend.de/forum/ftopic60738.html
Zergling-new ist offline  
Alt 04.11.2007, 16:39  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard

geschafft vielen dank!!!!!

hier noch das script
PHP-Code:
<?php
$serach 
$_POST["serach"];
include(
"functions/mark.php");
include(
"includes/config.inc");
$connection mysql_connect ("$dbhost""$dbuname""$dbpass") or die ("Keine Verbindung zur Datenbank"); 
mysql_select_db ("$dbname"$connection) or die ("Keine Verbindung zur Datenbank");

echo(
"Ergebnisse in news:<hr size=\"1\">");

            
$serach trim($serach);
   
$phrase explode(" ",$serach);
   
   if(
count($phrase) == 1){
          
$and "";
   }else{
         
$and "OR";
   }
   
$conn "";
   for(
$i=0;$i<count($phrase);$i++)  {
   
   
$conn .= " titel Like'%".$phrase[$i]."%' OR ";
   
$conn .= " text Like '%".$phrase[$i]."%' ".$and;
  
     }
    
$conn rtrim($conn,"OR");
    
$conn "SELECT * FROM main_news WHERE".$conn;
    
 
$erg mysql_query($conn,$connection) or die (mysql_error());
 
 if(
mysql_num_rows($erg) == 0){
 echo(
"Keine Ergebnisse!");
 } else {
 
 while(
$db mysql_fetch_array($erg)){
 
 
 
 
$titel wmark($db['titel'],$serach);
 
$text wmark($db['text'],$serach);
 

 
$echo $titel."
"
.$text."

"
;
 echo(
$echo);

 }
 
 }
 
?>
kazuya ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
MATCH .... AGAINST ... Problem Denise Datenbanken 4 21.03.2007 20:05
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
String durchsuchen - Spam Problem mit Gästebuch havok PHP Tipps 2006 23 15.03.2006 18:44
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Suchfunktion für die Homepage? Was muss der Anfänger wissen? PHP Tipps 2005-2 1 11.10.2005 18:39
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit der suchfunktion (while-schleife) Datenbanken 2 28.11.2004 18:39
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29
große XML-Datei in annehmbarer Zeit durchsuchen PHP-Fortgeschrittene 5 02.06.2004 15:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$cfg[\'maxdblist\'] phpmyadmin, http://www.php.de/php-tipps-2008/45047-php-suchfunktion-db-durchsuchen-problem.html, php suchfunktion sql

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.