Where Feld 1 grösser als $var1 und kleiner als $var2

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

  • Where Feld 1 grösser als $var1 und kleiner als $var2

    Puhh, was für ein Titel!

    Also, hätte da gern ein Problem und zwar möchte ich aus 2 verschiedenen Spalten eine DB Abfrage starten.

    Ich habe mein eingabefeld 1 und eingabefeld 2. In das erste Feld gebe ich 200 ein und in das 2. 400. Nun möchte ich alle Datnsätze auslesen die diesen Wert einhalten. Ausserdem bräuchte ich einen Platzhalter oder so der mit alle Datensätze anzeigt wenn man nichts eingibt.

    Wie also muss die Korrekte WHERE anweisung aussehen?

    GTAKTDEF1 ist meine Spalte inner DB, $ramsuche1 das erste eingebfeld und $ramsuche2 das 2. eingabefeld. Hab schon überall rumgesucht aber irgendiwe nicht das betreffende gefunden.

    Also riesen Dank schonmal im Vorraus!

    Grüsse Manfred

  • #2
    so?

    Code:
     SELECT * FROM tabelle WHERE feld1 = '200' OR feld2 = '400';
    wenn nicht, habe ich dich nicht verstanden ...
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hi Abraxax, nicht ganz, nur die Die Datensätze die ZWISCHEN $wert1 und $wert2 sind. Diese Abfrage ergibt ja Datensätze die GLEICH $wert1 oder GLEICH $wert2 sind.

      Grüsse Manfred

      Kommentar


      • #4
        der gesuchte wert steht aber nur in einer spalte, oder?

        Code:
        SELECT * FROM tabelle WHERE suchfeld BETWEEN '200' AND '400'; 
        
        oder nicht so schön
        
        SELECT * FROM tabelle WHERE suchfeld >  '200' AND suchfeld < '400';
        ist es das?

        oder eher das?

        Code:
        SELECT * FROM tabelle WHERE feld1 BETWEEN '200' AND '400' AND feld2 BETWEEN '200' AND '400';
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Also Dein 2. Cde würd mich interessieren. Aber ich habe wohl das Problem das man nur ein Where abfrage starten kann, oder?
          PHP-Code:
          SELECT *  from $tabelle WHERE ANZEIGEN=
          AND WHERE GTAKTDEF1 '$ramsuche1' AND GTAKTDEF1 '$ramsuche2' 
          AND MEMBER_NAME LIKE '%$usersuche%' 
          AND GRAKA LIKE '%$grakasuche%' $sort LIMIT $Anfangsposition$Zeilen_pro_Seite") 
          echo:
          Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wampp2c\htdocs\ocdb\list_graka.php on line 215

          Zeile 215:
          PHP-Code:
           while (list(meine vars)) = mysql_fetch_row($result)) { 
          Muss ich die ganzen WHERE Abfragen nun auch in eine Variable packen?
          Und wenn wir schon dabei sind, auch hier ist die Seitenfunktion mit drinne. Wird wohl nicht Ohne grösseren aufwand gehen, oder?

          Grüsse Manfred

          Kommentar


          • #6
            du hast schon ein WHERE ANZEIGEN = 1 drin.
            danach reicht ein AND.

            ich würde dir auch beim feld GTAKTDEF1 ein between empfehlen. ist glaube ich schneller und sieht schöner aus

            Code:
            
            SELECT * from $tabelle WHERE ANZEIGEN=1 
            AND GTAKTDEF1 BETWEEN  '$ramsuche1' AND '$ramsuche2' 
            AND MEMBER_NAME LIKE '%$usersuche%' 
            AND GRAKA LIKE '%$grakasuche%' $sort LIMIT $Anfangsposition, $Zeilen_pro_Seite")
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Ich befürchte fast das artet wieder aus

              PHP-Code:
              $result=mysql($db"SELECT MEMBER_NAME, CPUTYPE, ORGTAKT,
               MOMTAKT, FSBOC, ORGTEMP, OCTEMP, MULTIOC, ORGVCORE, MOMVCORE, 
              COOLTYPE, STEPPING, MEMBER_EMAIL, MAINBOARD, GTAKTDEF1, 
              GTAKTDEF2, GTAKTOC1, GTAKTOC2, RAM, GRAKA, MARK2001, ANZEIGEN 
              from 
              $tabelle WHERE ANZEIGEN=1 AND GTAKTDEF1 
              BETWEEN  '
              $ramsuche1' AND '$ramsuche2' AND MEMBER_NAME LIKE '%
              $usersuche%' AND GRAKA LIKE '%$grakasuche%' $sort LIMIT 
              $Anfangsposition$Zeilen_pro_Seite"); 
              So. Was passiert bei diesem Code: Wenn ich die Seite lade zeigt er mir lediglich den Datensatz eines Users an der NICHTS an dem besagten Feld eingegeben habe. Gebe ich eine Zahl ein zwischen 1 und 500 (das sollte alle Datensätze beinhalten) bekomm ich gar keinen zurück gegeben.

              PHP-Code:
               <td class='navi'><div align='center'von 
                                          
              <input name='gpusuche1' type='text' size='5'>
                                          
              bis 
                                          
              <input name='gpusuche2' type='text' size='5'>
                                          
              MhZ</div></td>
                                    </
              tr
              Das ist meine Eingabe aufforderung. Ich könnte ja jetzt Value='%%' machen damit ich gleich vorne weg alle angezeigt bekomme, aber auch da passiert nichts. Ohje Ohje...

              Grüsse Manfred

              Kommentar


              • #8
                was hast du vor?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Das!

                  Kann ich dafür auch anstatt von where eine Like abfrage machen? Wäre glaube ich besser, da weiss ich das es funzt, hab ja schon so viele LIKE drinne

                  Grüsse Manfred

                  Kommentar


                  • #10
                    du kannst LIKE verwenden , ABER NICHT ANSTELLE von WHERE. das WHERE brauchst du schon noch.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Ja ne klar! Also WHERE ANZEIGEN=! AND LIKE BETWEEN > and < blubb AND LIKE meine restlcihen Likes?!?

                      Grüsse Manfred

                      Kommentar


                      • #12
                        Nanu, jetzt gehts plötzlich mit where und Between. hatte sich wohl ein Fehlerteufel eingeschlichen! Also dank Dir nochmal, funzt einwandfre!

                        Grüsse Manfred

                        Edit:

                        Ok, eine Frage hab ich dann noch noch. Hab das ja jetzt so WHERE ANZEIGEN=1 AND GTAKTDEF1 BETWEEN '$1' AND '$2'

                        Du erinnerst dich doch sicherich an unsere Sortierung

                        Wie trage ich das nun bei den Links zum sortieren ein? Mist, da muss ja das ganze wieder rein, also das AND GTAKTDEF1 BETWEEN '$1' AND '$2'
                        komplett? Ohje Ohje, einen Fortschritt und dann kommts gleich wieder so
                        Könntest Du mir da noch helfen *bettelschnief*

                        Grüsse Manfred
                        Zuletzt geändert von BlackPixel; 22.12.2002, 19:42.

                        Kommentar


                        • #13
                          mache ein ORDER BY GTAKTDEF1
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            Naja gut, aber was ist mt den restlichen Sortier optionen? Ich hab ja user auf und ab, 4 mal takt auf und ab, Grafikkarte auf und ab und so weiter

                            Aber ich könnte doch das ganze in eine Variable Packen, aber wie siehts dann aus wenn ich eine Seite weiter blättern will, dann sind die Sortierwerte wieder weg?!?

                            CU bP

                            Edit:

                            Ich bräuchte für dieses Zeugs nochmal sowas:
                            PHP-Code:
                            /* übergabewert sichern */ 
                            $sortorig ereg("^(MEMBER_NAME|CPUTYPE|GTAKTDEF1|GTAKTDEF2|GTAKTOC1|GTAKTOC2|
                            RAM|GRAKA|MARK2001|MEMBER_EMAIL|ANZEIGEN)$"
                            ,$sort) ?
                             
                            $sort "MARK2001";

                            /* für sql vorbereiten */
                            $sort ereg("^(MEMBER_NAME|CPUTYPE|GTAKTDEF1|GTAKTDEF2|GTAKTOC1|GTAKTOC2
                            |RAM|GRAKA|MARK2001|MEMBER_EMAIL|ANZEIGEN)$"
                            ,$sort) ? 
                            "ORDER BY ".$sort." ".$way "ORDER BY MARK2001 DESC".$way
                            oder?!?
                            Zuletzt geändert von BlackPixel; 22.12.2002, 20:13.

                            Kommentar


                            • #15
                              nö. du musst in deine sql-anweisung nur noch eine zusätzliche var einbringen.

                              PHP-Code:
                              sql "SELECT .... FROM.... WHERE ANZEIGE=1 ..... $zusatz $sort"
                              $zusatz ist die neue var und sieht so aus.

                              achtung $1 und $2 sind nicht erlaubt als name für eine VAR. ich habe $w1 und $w2 genommen. w = wert

                              PHP-Code:
                              $zusatz = ($w1>&& $w2>0) ? " AND GTAKTDEF1 BETWEEN $w1 AND $w2""
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X