Dropdownblock in Vari dann in Template

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

  • #16
    Ich habs schon so wie du. Hier ist die ganze Verarbeitung:
    PHP-Code:
    if($_POST['dname']!=""){
      
    $ws1=$_POST['dname'];
      
    $w1 "dname LIKE %$ws1% AND ";
    }
    if(
    $_POST['ename']!=""){
      
    $ws2=$_POST['ename'];
      
    $w2="ename LIKE %$ws2% AND ";
    }
    if(
    $_POST['ktext']!=""){
      
    $ws3=$_POST['ktext'];
      
    $w3="text LIKE %$ws3% AND ";
    }
    if(
    $_POST['atext']!=""){
      
    $ws4=$_POST['atext'];
      
    $w4="anekdote LIKE %$ws4% AND ";
    }
    if(
    $_POST['katyp']!=""){
      
    $ws5=$_POST['katyp'];
      
    $w5="ktyp LIKE %$ws5% AND ";
    }
    if(
    $_POST['desi']!=""){
      
    $ws6=$_POST['desi'];
      
    $w6="design LIKE %$ws6% AND ";
    }
    if(
    $_POST['edition']!=""){
      
    $ws7=$_POST['edition'];
      
    $w7="edition=$ws7 AND ";
    }
    if(
    $_POST['karart']!=""){
      
    $ws8=$_POST['karart'];
      
    $w8="kartenart=$ws8 AND ";
    }
    if(
    $_POST['commons']!=""){
      
    $ws9=$_POST['commons'];
      
    $w9="selten=$ws9 AND ";
    }
    if(
    $_POST['kosten']!="" && $_POST['kostenv']!=""){
      
    $ws10=$_POST['kosten'];
      
    $ws10b=$_POST['kostenv'];
      
    $w10="mkosten$ws10$ws10b AND ";
    }
    if(
    $_POST['atk']!="" && $_POST['atkv']!=""){
      
    $ws11=$_POST['atk'];
      
    $ws11b=$_POST['atkv'];
      
    $w11="str$ws11$ws11b AND ";
    }
    if(
    $_POST['def']!="" && $_POST['defv']!=""){
      
    $ws12=$_POST['def'];
      
    $ws12b=$_POST['defv'];
      
    $w12="def$ws12$ws12b AND ";
    }
    if(
    $_POST['farbe']!=""){
      
    $ws13=$_POST['farbe'];
      
    $w13="farbe=$ws13 AND ";
    }

    $eingabe=" WHERE $w1$w2$w3$w4$w5$w6$w7$w8$w9$w10$w11$w12$w13";
    $zeichen=strlen($eingabe);
    $ben_zeichen=$zeichen-5;
    $eingabe2=substr($eingabe0$ben_zeichen);
    echo 
    "$eingabe2";
    // Anzahl aller Karten ermitteln
    $result=mysql_query("SELECT COUNT(id) FROM kartendb'$eingabe2'") OR die(mysql_error()); 
    Hierbei ist bei einer eingabe ins erste Feld das wort Elf die $eingabe2:
    WHERE dname LIKE %Elf%

    und die Fehlermeldung ist:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' WHERE dname LIKE %Elf%'' at line 1

    Kommentar


    • #17
      Original geschrieben von NielsRunge
      da fehlen 2 ', wo wirst Du wohl gleich sehen oder?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        sorry, ich habe keine Lust Postings zu schreiben, auch wenn sie immer kurz sind, die nicht ganz gelesen werden.
        Oder nur überflogen oder ohne drüber nachzudenken.
        [Test] MySQL cli Emulator

        Kommentar


        • #19
          Den query kann ich nicht ausgeben da nach dem Fehler ncihts mehr geht.
          dann laß doch ausgeben, bevor du die query ausführst ... und die 2 ' fehlen nicht nur da!
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #20
            Sry, da hab ich mich verlesen
            Aber nun ist es so:
            PHP-Code:
            if($_POST['dname']!=""){
              
            $ws1=$_POST['dname'];
              
            $w1 "dname LIKE '%$ws1%' AND ";
            }
            if(
            $_POST['ename']!=""){
              
            $ws2=$_POST['ename'];
              
            $w2="ename LIKE '%$ws2%' AND ";
            }
            if(
            $_POST['ktext']!=""){
              
            $ws3=$_POST['ktext'];
              
            $w3="text LIKE '%$ws3%' AND ";
            }
            if(
            $_POST['atext']!=""){
              
            $ws4=$_POST['atext'];
              
            $w4="anekdote LIKE '%$ws4%' AND ";
            }
            if(
            $_POST['katyp']!=""){
              
            $ws5=$_POST['katyp'];
              
            $w5="ktyp LIKE '%$ws5%' AND ";
            }
            if(
            $_POST['desi']!=""){
              
            $ws6=$_POST['desi'];
              
            $w6="design LIKE '%$ws6%' AND ";
            }
            if(
            $_POST['edition']!=""){
              
            $ws7=$_POST['edition'];
              
            $w7="edition='$ws7' AND ";
            }
            if(
            $_POST['karart']!=""){
              
            $ws8=$_POST['karart'];
              
            $w8="kartenart='$ws8' AND ";
            }
            if(
            $_POST['commons']!=""){
              
            $ws9=$_POST['commons'];
              
            $w9="selten='$ws9' AND ";
            }
            if(
            $_POST['kosten']!="" && $_POST['kostenv']!=""){
              
            $ws10=$_POST['kosten'];
              
            $ws10b=$_POST['kostenv'];
              
            $w10="mkosten$ws10'$ws10b' AND ";
            }
            if(
            $_POST['atk']!="" && $_POST['atkv']!=""){
              
            $ws11=$_POST['atk'];
              
            $ws11b=$_POST['atkv'];
              
            $w11="str$ws11'$ws11b' AND ";
            }
            if(
            $_POST['def']!="" && $_POST['defv']!=""){
              
            $ws12=$_POST['def'];
              
            $ws12b=$_POST['defv'];
              
            $w12="def$ws12'$ws12b' AND ";
            }
            if(
            $_POST['farbe']!=""){
              
            $ws13=$_POST['farbe'];
              
            $w13="farbe='$ws13' AND ";
            }

            $eingabe=" WHERE $w1$w2$w3$w4$w5$w6$w7$w8$w9$w10$w11$w12$w13";
            $zeichen=strlen($eingabe);
            $ben_zeichen=$zeichen-5;
            $eingabe2=substr($eingabe0$ben_zeichen);
            echo 
            "$eingabe2";
            // Anzahl aller Karten ermitteln
            $result=mysql_query("SELECT COUNT(id) FROM kartendb$eingabe2") OR die(mysql_error()); 
            Und jetzt zählt er die WHERE gar nicht mehr. Jetzt gibt er alles aus egal ob eine bedingung da ist oder nicht.

            Wenn ich nun den query ausgebe kommt dies:
            Resource id #7

            Die $eingabe2 hat dies:
            WHERE dname LIKE '%Elf%'

            Kommentar


            • #21
              ja, hast Du schonmal probiert nach "Resource id #" zu suchen?
              Google, Board oder wo auch immer, hätte sich etwas gebracht.

              Du könntest z.B. mysql_fetch_array() benutzen, dort gibt es genug Beispiele.
              [Test] MySQL cli Emulator

              Kommentar


              • #22
                Wenn ich nun den query ausgebe kommt dies:
                Resource id #7
                sag mal, bist du wirklich der meinung, daß dies die von dir generierte query ist? sag mal ehrlich ...
                die sieht irgendwie garnicht nach sql-syntax aus, oder? also liegt doch die vermutung nahe, daß dies garnicht die query ist?

                naja, macht ja nix ... vielleicht schaffst du es ja morgen!
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #23
                  Ich hoffe jetzt hab ich es geschaft:
                  SELECT COUNT(id) FROM kartendb WHERE dname LIKE '%Elf%'

                  Die ausgabe davon ^^

                  Doch ich bin zu dumm für diese Welt. Es hat schon vorhin geklappt. Es hat mir nur alle Werte ausgegeben da ich die zweite Datenbankabfrage die alles abfragt vergessen habe und da den WHERE nicht geschrieben habe.

                  Danke euch allen. Nun hab ich etwas gelernt und zugleich noch bewiesen das auch ein blindes Huhn mal ein Korn findet.

                  Kommentar

                  Lädt...
                  X