Ergebnis 1 bis 4 von 4
  1. #1
    Avatar von ancient.shadow
    ancient.shadow ist offline Routinier
    registriert
    16-10-2005
    Ort
    Braunschweig
    Beiträge
    463

    [MySql]Abfragen verkürzen ?

    Hallo liebes Forum!
    Ich habe folgendes Problem:
    Dem User steht ein Eingabeform zum eintragen von 4 werten zur vefügung:

    PHP-Code:

    <form action="index.php?s=2.2" method="post" name="search">

        <
    br />Bitte mindestens ein Suchkriterium ausf&uuml;llen!<br />
            <
    div align="left">
            <
    font class="text_form">
        <
    br />Vornamen eingeben<br />
            <
    input class="Formmail_input" type="text" name="searchvorname" value="" size="30" /><br />
        <
    br />Nachnamen eingeben<br />
            <
    input class="Formmail_input" type="text" name="searchname" value="" size="30" /><br />
        <
    br />Wohnort eingeben<br />
            <
    input  class="Formmail_input" type="text" name="searchwohnort" value="" size="30" /><br />
        <
    br />Kursnummer eingeben<br />
            <
    input class="Formmail_input" type="text" name="searchkursnummer" value="" size="30" /><br />
            <
    br />
            <
    input class="Formmail_button" type="submit" name="searchdosearch" value="Suchen" /></font></div>
            </
    form
    Nun möchte ich, dass Alle Benutzer auf denen alle in das eingetragenden Werte mit LIKE %..%
    überprüft und in einer tabelle ausgegeben werden.

    Das Problem:
    Zur suche muss nur ein Feld ausgefüllt werden! Den Hacken, den diese Tatsache mit sich führt ist das, wenn man z.b. ein Feld freilässt, die anfrage von %% auf alle felder der tabelle zutrifft!

    Nun könnte ich 24 Abfragen machen, in dem jeder einzelner Fall des freilassens eines feldes einmal vorkommt.. aber
    1. is mir das ehrlich gesagt n bisschen zu doof 24 if-abfragen + query zu schreiben
    2. will ich was fürs leben wissen

    Also! Gibts da ne elegegantere Lösung ?

    danke für jede antwort, shadow
    Support Pingu on World Domination

  2. #2
    Avatar von skooli
    skooli ist offline König
    registriert
    08-01-2006
    Beiträge
    958

    AW: [MySql]Abfragen verkürzen ?

    PHP-Code:
    $sql "SELECT irgendwas FROM irgendwo WHERE 1 ";

    $sql .= ($_POST['searchvorname']) ? "AND feldname LIKE '%$_POST['searchvorname']%' " "";
    $sql .= ($_POST['searchname']) ? "AND feldname LIKE '%$_POST['searchname']%'" " ";
    $sql .= ($_POST['searchwohnort']) ? "AND feldname LIKE '%$_POST['searchwohnort']%' " ""
    ... und so weiter, dann sind nit ganz so viele zeilen (nämlich 5)
    Edit: bin grad nich ganz sicher, ob man mit =?: auch verketten kann, falls nicht, muss mans mal mit if() machen
    kannst ihn dir ja zur Sicherheit erstmal ausgeben lassen :P
    Geändert von skooli (25-02-2006 um 18:46 Uhr)

  3. #3
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: [MySql]Abfragen verkürzen ?

    Doch kann man (zumindest in Perl, ich gehe mal davon aus dass das in PHP genauso geht)

  4. #4
    Avatar von ancient.shadow
    ancient.shadow ist offline Routinier
    registriert
    16-10-2005
    Ort
    Braunschweig
    Beiträge
    463

    AW: [MySql]Abfragen verkürzen ?

    dank sehr, hat funktioniert

    shady
    Support Pingu on World Domination

Ähnliche Themen

  1. Wie kann ich des verkürzen?
    Von pinkpanther im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 21-09-2000, 16:27

Lesezeichen

Berechtigungen

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