kostenloser Webspace werbefrei: lima-city


MYSQL Select Suchfunktion mit Filtern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    stargate

    Kostenloser Webspace von stargate

    stargate hat kostenlosen Webspace.

    Hallo!

    Ich möchte gerne eine Suchfunktion in ein kleines PHP Programm einbauen.
    Dabei soll die Mysql Datenbank durchsucht werden.
    Folgende Variablen werden von dem Suchformular übergeben. Nach diesen Begriffen soll gesucht werden.


    $_POST['suchwort']							//Wenn ausgefüllt suche nach Suchwort
    $_POST['beruf']								//Wenn ausgefüllt filtere Beruf
    $_POST['fuehrerschein'] value "ja, nein"	                //Wenn "ja" suche in "fueherscheine" nach "ja", ansonsten keine Aktion
    $_POST['plz']								        //Suche nach x in "plz"...
    $_POST['plz_radius'][1-??]					//...oder nach weiteren PLZ (Ausgabe von PLZ im Umkreis von x km in Form eines array)
    $_POST['verfuegbar'] value "Ja, Egal"			//Wenn Status "Ja" suche in "status" nach "ja", ansonsten keine Aktion


    Ich habe mir gedacht, ich könnte das irgendwie so aufbauen:

    if ($_POST['suchwort'] != ""){
    	$suchwort = "name LIKE '%".$_POST['suchwort']."%' AND strasse_nr LIKE '%".$_POST['suchwort']."%' AND sozialvers LIKE '%".$_POST['suchwort']."%' AND beruf_werdegang LIKE '%".$_POST['suchwort']."%'    ";
    }
    
    if ($_POST['berufsbezeichnung'] != ""){
    	$beruf = " AND berufsbezeichnung LIKE '%".$_POST['beruf']."%' ";
    }
    
    if ($_POST['fuehrerschein'] == "ja"){
    	$fuehrerschein = " AND ob_fuehrerschein = 'Ja' ";
    }
    
    if ($_POST['plz'] != ""){
    	$plz = " AND plz = '".$_POST['plz']."' ";
    }
    
    if ($_POST['verfuegbar'] == "Ja"){
    	$status = " AND status = 'aktiv' ";
    }
    
    
    
    $search = mysql_query("SELECT * FROM bewerbungen WHERE ".$suchwort.$beruf.$fuehrerschein.$status."");


    Die Abfrage funktioniert aber nicht, ich muss sagen ich kenne mich in diesem Bereich auch zu wenig aus.
    Betrachtet die Abfrage oben als "groben Entwurf" ;)
    Bitte um Hilfe!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s******2

    Hallo,

    Vielleicht hilft dir das weiter.:thumb:

    PHP Tutorial: Suche mit PHP gestalten // deutsch-->

  4. stargate schrieb:
    ...
    $_POST['suchwort'] //Wenn ausgefüllt suche nach Suchwort ...

    Ich habe mir gedacht, ich könnte das irgendwie so aufbauen:

    if ($_POST['suchwort'] != ""){
    	$suchwort = "name LIKE '%".$_POST['suchwort']."%' AND strasse_nr LIKE '%".$_POST['suchwort']."%' AND sozialvers LIKE '%".$_POST['suchwort']."%' AND beruf_werdegang LIKE '%".$_POST['suchwort']."%'    ";
    } ...


    also wenn du jetzt mit nur einer variable - $_POST['suchwort'] - nach name, strasse_nr, sozialvers, beruf_werdegang (also nach 4! dingen suchst) dann kan man nur sagen: das geht - meistens - schlecht. oder du hast die beschreibung deines problems noch zu verbessern.
  5. rechentrainer

    rechentrainer hat kostenlosen Webspace.

    Hallo

    ich habe vielleicht eine Lösung.
    Wenn es keine Suche gibt, will die Abfrage einen string abfgagen der nicht existiert.
    Für wie if-abfrage für's deklarieren der strings, würde ich
    if(isset($_POST['suchwort']))
    {
        $suchwort = ...;
    }
    statt
    if ($_POST['suchwort'] != ""){
    $suchwort = "name LIKE '%".$_POST['suchwort']."%' AND strasse_nr LIKE '%".$_POST['suchwort']."%' AND sozialvers LIKE '%".$_POST['suchwort']."%' AND beruf_werdegang LIKE '%".$_POST['suchwort']."%'    ";
    }
    benutzen.

    Viel Glück
  6. rechentrainer schrieb:
    Hallo

    ich habe vielleicht eine Lösung.
    Wenn es keine Suche gibt, will die Abfrage einen string abfgagen der nicht existiert.
    Für wie if-abfrage für's deklarieren der strings, würde ich
    if(isset($_POST['suchwort']))
    {
        $suchwort = ...;
    }
    statt
    if ($_POST['suchwort'] != ""){
    $suchwort = "name LIKE '%".$_POST['suchwort']."%' AND strasse_nr LIKE '%".$_POST['suchwort']."%' AND sozialvers LIKE '%".$_POST['suchwort']."%' AND beruf_werdegang LIKE '%".$_POST['suchwort']."%'    ";
    }
    benutzen.

    Viel Glück
    viel glück? :wow: das wird er nach deinem ratschlag auch brauchen!
    du gibst hir - ohen die ursprüngliche aufgabe und auch nicht die mangelhaftigkeit der 'vorhandenen' lösung (mein bescheidener hinweis darauf) zu begreifen - ratschläge. gut! nur für dich zum langsam mitschreiben:
    du kannst nicht mit einer einzigen variable 4 vom grund auf unterschiedliche entitäten abfragen - zum einen;
    zum zweiten - wie willst du eine spalte mit einem 'string' abfragen, der nicht existiert?
    (ich kenne sicherlich 'strings', die du nicht kennst, z.b. gleich 'der Aap'. und wocher willst du das wissen, dass 'der Aap' in seiner tabelle nicht vorkommt?)
    bürscherln! vor posten sollte man lesen, begreifen, nachdenken und erst dann posten - möglichst in dieser reihenfolge.

    Beitrag zuletzt geändert: 25.3.2013 18:04:34 von czibere
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!