Ankündigung

Einklappen
Keine Ankündigung bisher.

Platzhalter

Einklappen

Neue Werbung 2019

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

  • Platzhalter

    Hi,

    gibt es eine Platzhalter in mysql bzw. einen Wert der für "alles" gilt?

    Habe ein Dropdownfeld und übergebe damit Werte. Auf Basis dieses Wertes wird eine Abfrage gemacht.
    PHP-Code:
    $abfrage "SELECT * FROM spiele where liga=$liga order by liga, datum desc"
    Also: gib mir die Spalten, wo liga der variable $liga entspricht.
    Gibt es nun einen Wert für die Variable, der mir dann wieder alle Werte ausgibt? Hab´s mal mit * und % probiert, das haut aber nicht hin. Oder geht das so gar nicht?

    Gruß und Danke!


  • #2
    Lass halt die Bedingung weg.
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      das macht natürlich sinn, schon klar.

      wenn ich sie aber weglasse, kann ich ja gar nicht mehr filtern. ich übergebe ja von einem formular auf eine weitere seite.

      naja, hab jetzt nochmal bissl gelesen, und so nen wirklichen platzhalter scheints wohl nicht zu geben. dann muss ich das ganze halt dynamisch machen...

      danke trotzdem

      Kommentar


      • #4
        Verstehe dein Problem auch nicht so recht. Die Wildcards in MySQL lauten _ und %, siehe: MySQL :: MySQL 5.0 Reference Manual :: 11.5.1 String Comparison Functions

        Bau halt eine Bedingung ein, über die du festlegst, ob gefiltert wird, oder nicht!
        http://hallophp.de

        Kommentar


        • #5
          Ich hoffe, dass ich deine Frage richtig interpretiere.
          PHP-Code:
          if ( $liga !='alle' ) {
            
          $abfrage "SELECT * FROM spiele where liga=$liga order by liga, datum desc";
          } else {
            
          $abfrage "SELECT * FROM spiele order by liga, datum desc";

          machst halt in deine Selectbox noch eine Zeile "alle" rein.
          PHP-Code:
          if ($var != 0) {
            
          $var 0;

          Kommentar


          • #6
            hey!

            ja, richtig interpretiert. auf die idee bin ich gar nicht gekommen, habs jetzt aber anders gelöst.

            hab einfach ne variable $setliga eingeführt und je nach einstellung dann mit "and liga=1" gefüttert bzw. leer gelassen. schätze mal, deine lösung ist etwas eleganter, aber so lange es am ende funktioniert!

            danke trotzdem!

            Kommentar


            • #7
              Auf jeden Fall fehlen noch Quotes, oder ist das ein numerischer Wert?
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Variante

                a) wie oben if() und zwei Queries
                b)
                PHP-Code:
                if (isset ($search)) {
                  
                $search '"' mysql_real_escape_string ($search) . '"';
                }
                else {
                  
                $search 'liga'// muss dem Feldnamen entsprechen
                }

                $query "SELECT * FROM spiele where liga=" $search " order by liga, datum desc"
                c)
                PHP-Code:
                if (isset ($search)) {
                  
                $search 'liga="' mysql_real_escape_string ($search) . '"';
                }
                else {
                  
                $search '1'// immer wahre Bedingung
                }

                $query "SELECT * FROM spiele where " $search " order by liga, datum desc"
                usw.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  PHP-Code:
                  $query "SELECT * FROM spiele".(isset ($search) ? " WHERE liga = ".mysql_real_escape_string ($search) : "")." order by liga, datum desc"

                  Kommentar

                  Lädt...
                  X