tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
4842
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    Ich habe folgendes Problem, ich würde gern meine News Datenbank durchsuchen, ich habe eine Tabelle "news" und dort die Spalten "ID", "text" und "header". Die $eingabe wird von einem Formular übergeben. Leider scheint irgendetwas nicht zu funktionieren, denn obwoh ich einen Suchbegriff eingegeben habe, erscheint immer die Fehlermeldung "Bitte geben Sie ein Suchwort ein"?

    Kann mir jemand vielleicht helfen? Hier der Code:

    PHP-Code:
    <?
    if($eingabe==""

        echo 
    "<b>Bitte geben Sie ein Suchwort ein.</b>"

    else 


     
    $eingabe_array explode(' ',$eingabe); 


        
    $query 'select * from news where '//anfang der abfrage 
        
    for($i=0$i<count($eingabe_array); $i++){ 
            
    $query .= "(text like '%".$eingabe_array[$i]."%' or header like '%".$eingabe_array[$i]."%' )"
                
    //ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft) 
            
    if($i<count($eingabe_array)-1){ 
                
    $query .= ' and '
            } 
            
    //verknüpfung der einzelnen worte mit und 
        


    $result mysql_db_query($query); //anfrage an die datenbank 
        
    if(mysql_num_fields($result) < 1
        { 
            echo 
    "Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein"
        } 
        else 

        for(
    $i=0$i<$num_news$i++){ 
            
    $id mysql_result($result,$i,'id'); //abfrage der news_id von der datenbank 
            
    $header mysql_result($result,$i,'header'); //abfrage der ueberschift 
            
    $text mysql_result($result,$i,'text'); //abfrage der news 
            
    $first array_slice(explode(' '$text), 040); //explode teilt den string wieder an der ' ' und array_slice erstellt einen neuen array mit den ersten 40 elementen = worten der news 
            
    $kurze_news join(' '$first) . '...&nbsp;'//join verbindet die elemente des arrays wieder zu einem string. am ende werden noch drei punkte angehängt... 
            
    echo '<a href="news_show.php?id='.$id.'">'.$header.'</a><br>'//links auf die seite show_news.php 
            
    echo $kurze_news.'<br><br>'//der 40 worte lange anfang des newstextes 
        

    }
    ?>
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Köln
    Beiträge
    796
    Original geschrieben von sugar
    Die $eingabe wird von einem Formular übergeben. Leider scheint irgendetwas nicht zu funktionieren, denn obwoh ich einen Suchbegriff eingegeben habe, erscheint immer die Fehlermeldung "Bitte geben Sie ein Suchwort ein"?
    Vielleicht liegt es daran, dass bei Dir register_globals deaktiviert sind. Versuchs deswegen mal mit:

    PHP-Code:
    $_POST['eingabe'
     
    You want me to be, something I can never ever be!

  3. #3
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    Ich habe ein Formular das also folgendermaßen aussieht:

    <form action='news_suche3.php' method=POST>
    None of these words: <input type='text' length=40 name='none' value="<? echo $_POST['eingabe']?>"><br>
    <input type='submit' value='Search'>
    </form>

    geht aber trotzdem nicht.
     

  4. #4
    Avatar von Mirko D
    Mirko D Mirko D ist offline Mitglied Brokat
    Registriert seit
    May 2004
    Ort
    Wesseling / Köln
    Beiträge
    422
    Chino meinte eigentlich das du in dne PHP Zeilen den $_POST['eingabe'] nehmen sollst.

    Also
    anstatt

    PHP-Code:

    if($eingabe==""
    so

    PHP-Code:

    if($_POST['eingabe']==""
    Gruß Mirko
     
    Der Sinn des Lebens liegt nicht darin über den Sinn des Lebens nachzudenken

    >>MG Forum

  5. #5
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    Oh na klar bin ich doof! Bin eben ein Anfänger tut mir leid! Geht aber trotzdem nicht!
     

  6. #6
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    <input type='text' length=40 name='none' ...
    Dein Eingabefeld heisst ja auch "none" und nicht "eingabe".

    snuu
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  7. #7
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    Oh ja du hast Recht! Jetzt kommt immerhin die zweite Fehlermeldung: Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein!
     

  8. #8
    m0rb m0rb ist offline Mitglied Silber
    Registriert seit
    Aug 2002
    Ort
    Fürth
    Beiträge
    87
    Lass die mal $query ausgeben und schau, ob da das drinsteht, was du willst...
     

Ähnliche Themen

  1. MYSQL - Volltextsuche und UNION
    Von Kendoo im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 17.03.09, 19:29
  2. MySQL Volltextsuche
    Von mkoeni1 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 22.08.08, 10:07
  3. [MySQL] Volltextsuche - Merkwürdigkeit
    Von DJLopez im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 11.09.07, 09:50
  4. MySQL] Volltextsuche mit Bedingung
    Von Moritz123 im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 12.07.05, 20:08
  5. Volltextsuche in MySQL-DB
    Von Ruediger im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 09.05.03, 16:21