Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Erweiterete Suchfunktion fixen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Erweiterete Suchfunktion fixen

    Guten Morgen,

    ich habe eine Suchfunktion,
    welche irgendwie nicht mehr so wirklich funktionieren will.
    Dies müsste behoben werden.

    Zusätzlich bräuchte ich diese dann
    etwas umgebaut, so dass der Nutzer bis nach zu 4 Eigenschaften
    suchen kann (Preis, Kategorie usw)

    Biete auf die schnelle 20 € via Paypal

  • #2
    Lol...ohne deinen Code zu kennen, sind 10€ etwas sehr mager

    mfg wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Ohne Vorschau auf das, was du da verbrochen hast, kannste das getrost knicken. 10€ sind umgerechnet ca. 5 Minuten Zeit eines durchschnittlichen Entwicklers.
      [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

      Kommentar


      • #4
        Ok das wusste ich nicht!
        habe bisher immer nur 5 - 10 € bezahlt,
        mein Bekannter ist aber nicht erreichbar.

        Die klassische Suchfunktion:
        Funktioniert nur wenn ich die passende ID oder den exakten Suchbegriff eingebe. Gesucht ist aber eine Art Volltextsuche. Es sollen demnach alle übereinstimmungen angezeigt werden, auf groß und kleinschreibung soll nicht geachtet werden:

        PHP-Code:

        <form method="post" action="suchen.php">
            <
        input id="suche_key" name="suche_key" />&emsp;<input type="submit" value="Suchen" />
            <
        br /><small>Stichwort Titel ID Kategorie Anlass</small>
            </
        form
        suchen.php

        PHP-Code:

        <?php
         
            $max_zutaten 
        5;  // Maximale Anzahl erlaubter Zutaten in der Suchanfrage;
         
         
            
        include("mysql.php");
                function 
        lcwords($text)
                {
                
        $text explode(" "$text);
                    
        $anz count($text);
                    return 
        strtolower($text[$anz-1]);
                }
           
                
        $suche_key $_POST['suche_key'];
                
        $suche_key lcwords($suche_key);
            
        $suche_key explode(" "$suche_key);
         
                
        $ergebnisse = array();
           
                
        $dz mysql_query("SELECT * FROM rezepte ORDER BY id");
                while(
        $fetch mysql_fetch_array($dz))
                {
                    
        $id $fetch['id'];
                    
        $zutat = array();
                   
                    
        $zutat[] = lcwords($fetch['rezepttitel']);
                    
        $zutat[] = lcwords($fetch['zubereitungsanleitung']);
                    
        $zutat[] = lcwords($fetch['id']);
                    
        $zutat[] = lcwords($fetch['anlass1']);
                    
        $zutat[] = lcwords($fetch['anlass2']);
                    
        $zutat[] = lcwords($fetch['kategorie1']);
                    
        $zutat[] = lcwords($fetch['kategorie2']);
                    
        $zutat[] = lcwords($fetch['kategorie3']);
         
                
        $probably 1;
                
        $j=0;
                foreach(
        $suche_key as $suche)
                {
                        if(!
        in_array($suche$zutat)){ $probably 0; break; }
                    
        $j++;
                    if(
        $j==$max_zutaten) break;
                }
         
                if(
        $probably==1$ergebnisse[] = $id;
                
         
                }
           
           
            if(
        count($suche_key)>5) echo "<b>Deine Suche enthielt mehr als ".$max_zutaten." Ergebnisse, Dir werden nun die ersten ".$max_zutaten." Geschenke angezeigt:</b> <br /><br />";
            else echo 
        "<b>".count($ergebnisse)." Geschenke gefunden: </b><br /><br />";
                if(
        count($ergebnisse)==0) echo "Sorry, keine Ergebnisse gefunden! <br /><br />";
                else
                    {
                        foreach(
        $ergebnisse as $id)
                        {
                            
        $dz mysql_query("SELECT * FROM rezepte WHERE id='".$id."'");
                            
        $dz mysql_fetch_array($dz);
           
                            
        $rezepttitel $dz['rezepttitel'];
                            echo 
        '<a href="geschenk.php?id='.$id.'">'.$rezepttitel.'</a><br />';
                        }
                    }
         
            
        ?>



        Und hier das selbe, nur das es noch ohne Funktion ist:

        PHP-Code:

        <form method="post" action="suchen.php">
            
            
        F&uuml;r: <select name="anlass">
            <
        option>Bitte w&auml;hlen</option>
            <
        option>Sie</option>
            <
        option>Ihn</option>
            <
        option>Beide</option>
            </
        select>
            
            &
        emspAnlass: <select name="anlass">
            <
        option>Alle</option>
            <
        option>Abschied</option>
            <
        option>Babyparty</option>
            <
        option>...usw...</option>
            </
        select>
            
            
            &
        emspKategorie: <select name="anlass">
            <
        option>Alle</option>
            <
        option>Wohnen</option>
            <
        option>Deko</option>
            <
        option>...usw...</option>
            </
        select>
            
            &
        emspPreis: <select name="anlass">
            <
        option>Alle</option>
            <
        option>bis 10 Euro</option>
            <
        option>bis 20 Euro</option>
            <
        option>...usw...</option>
            </
        select>
            
            &
        emsp;<input type="submit" value="Suchen" />
            <
        br /><small>Stichwort Titel ID Kategorie Anlass</small>
            </
        form
        Habe viel getestet, auch mit php LIKE usw aber ich bekomm es selbst nicht hin. Bei php ist echt schluss bei mir

        (nicht wundern wegen zubereitungsanleitung, rezept usw. Das Script basiert auf einer anderen Seite)

        Kommentar


        • #5
          Kann jetzt max. 20 € via Paypal anbieten.
          Ist doch für Erfahrene sicher kein dickes Ding

          Kommentar


          • #6
            ich finde deinen code sogar ziemlich verständlich. schrieb dir eine pn.

            Kommentar


            • #7
              Zitat von isotrop Beitrag anzeigen
              ich finde deinen code sogar ziemlich verständlich. schrieb dir eine pn.
              und es fällt dir nicht auf dass im code ALLE datensätze erstmal gelesen werden und dann php seitig überprüft werden + SQL injections möglich sind?
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

              Kommentar


              • #8
                Zitat von isotrop Beitrag anzeigen
                ich finde deinen code sogar ziemlich verständlich. schrieb dir eine pn.
                ... welche PN?
                Hier kam gar nichts an Du Schwätzer

                Kommentar


                • #9
                  Zitat von m0066285 Beitrag anzeigen
                  Du Schwätzer
                  So macht man sich Freunde!
                  [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                  Kommentar


                  • #10
                    Zitat von m0066285 Beitrag anzeigen
                    ... welche PN?
                    Hier kam gar nichts an Du Schwätzer
                    er hat sich wohl vertiptt, wollte bestimmt schreib und nicht schrieb, schreiben, musst ja nicht gleich so mit "Schwätzer" reagieren
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                    Kommentar


                    • #11
                      Voll schlimm "Schwätzer" !?
                      Wenns zu Argh war, sollte nicht wirklich böse gemeint sein sry

                      Kommentar


                      • #12
                        Zitat von BlackScorp Beitrag anzeigen
                        und es fällt dir nicht auf dass im code ALLE datensätze erstmal gelesen werden und dann php seitig überprüft werden + SQL injections möglich sind?
                        verständlich heißt nicht, dass ich es so belassen würde.

                        Kommentar

                        Lädt...
                        X