Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL mit PHP

Einklappen

Neue Werbung 2019

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

  • SQL mit PHP

    wieso funktioniert:

    $result = mysql_query("SELECT * FROM buero WHERE Preis LIKE '%$Preis%'");

    das, aber das folgende nicht?

    $result = mysql_query("SELECT * FROM buero WHERE Preis BETWEEN '%$Preis%' AND '%$Preis2%'");


  • #2
    Ist dein "Preis" varchar oder FLOAT ?

    Kommentar


    • #3
      Wie kann das nur sein?!

      - Nutze die [PHP] - Tags um deinen Code hervorzuheben.
      - Wie sieht deine Tabelle aus?
      - Welche Fehlermeldung bekommst du? Debugging
      sigpic

      Kommentar


      • #4
        der Preis hat den datentyp FLOAT.

        Tabelle:
        ID int(3)
        Adresse varchar(50)
        PLZ int(4)
        Preis float(8,2)
        Flaeche int(5)
        Art varchar(6)

        Fehlermeldung hab ich keine, die Tabelle wird leer ausgegeben.

        es funktioniert mit >= oder GREATER auch nicht?

        Kommentar


        • #5
          PHP: mysql_error - Manual
          Signatur:
          PHP-Code:
          $s '0048656c6c6f20576f726c64';
          while(
          $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

          Kommentar


          • #6
            Bei LIKE sind die %..% wichtig um den zu vergleichenden Teil von Strings zu kennzeichnen.
            Welchen Sinn sollten sie bei arithmetischen Operationen haben?

            Du willst doch sicher 1.23 < x < 2.34 und nicht %1.23% < x < %2.34% haben.
            **********************************
            Nein, ich bin nicht die Signatur.
            Ich putze hier nur.
            **********************************

            Kommentar


            • #7
              ich verstehs einfach nicht:
              Mein Code aus index.php

              PHP-Code:
              <form method="post" action="test.php">
                                      <
              div class="form">                                  
                                      <
              div class="form_row"><label class="left">Bezirk: </label>
                                      <
              select name="dropdownmenu" size="1" style="width:167px" >
                                      <
              option name="PLZ" value="1010">1.Bezirk</option>
                                      <
              option name="PLZ" value="1020">2.-9.Bezirk</option>
                                      <
              option name="PLZ" value="1100">10.-12.Bezirk</option>
                                      <
              option name="PLZ" value="1300">13.-15.Bezirk</option>
                                      <
              option name="PLZ" value="1600">16.-19.Bezirk</option>
                                      <
              option name="PLZ" value="1200">20.-22.Bezirk</option>
                                      <
              option name="PLZ" value="1230">23.Bezirk</option>
                                      </
              select> </div>
                                      
                                      <
              div class="form_row"><label class="left">Preis von: </label><input type="text" name="Preis" class="form_input"/></div>
                                      <
              div class="form_row"><label class="left">Preis bis: </label><input type="text" name="Preis2" class="form_input"/></div>
                                      <
              div class="form_row"><label class="left">Fläche von: </label><input type="text" name="Flaeche" class="form_input"/></div>
                                      <
              div class="form_row"><label class="left">Fläche bis: </label><input type="text" name="Flaeche2"class="form_input"/></div>
                                                         
                                      <
              div class="form_row">
                                        <
              label class="left_long">Suche nach:</label></div>
                                      <
              div class="form_row"><input type="radio" name="Art" value="Miete" />Miete</div>
                                      <
              div class="form_row"><input type="radio" name="Art" value="Kauf" />Kauf </div>
                                      
                                      <
              div style="float:right; padding:10px 25px 0 0;">
                                      <
              input type="image" name="search" alt="Absenden" src="images/find.gif"/>
                                      </
              div>
                                  
                                  
                                  </
              form
              --------------------------------
              und der code aus test.php:
              --------------------------------

              PHP-Code:
              <?php
              $host 
              "*****"//database location
              $user "*****"//database username
              $pass "*****"//database password
              $db_name "*****"//database name
              $table "*****";


              $connection mysql_connect($host$user$pass) or die (mysql_error());
              mysql_select_db($db_name) or die (mysql_error());

              echo 
              "Connected!<p>" ;


              mysql_query("SET NAMES utf8");

              $result mysql_query("SELECT * FROM buero WHERE (PLZ = '$PLZ') and (Preis >= '$Preis')  AND  (Flaeche <= '$Flaeche2' ) AND (Art LIKE '$art') order by ID asc");


              echo 
              "<table border='1'>";
              echo 
              "<tr> <th>ID</th> <th>Adresse</th> <th>PLZ</th> <th>Preis</th> <th>Flaeche</th> <th>Art</th> </tr>";

              while(
              $row mysql_fetch_array$result )) {

                  echo 
              "<tr><td>"
                  echo 
              $row['ID'];
                  echo 
              "</td><td>"
                  echo 
              $row['Adresse'];
                  echo 
              "</td><td>"
                  echo 
              $row['PLZ'];
                  echo 
              "</td><td>"
                  echo 
              $row['Preis'];
                  echo 
              "</td><td>"
                  echo 
              $row['Flaeche'];
                  echo 
              "</td><td>"
                  echo 
              $row['Art'];
                  echo 
              "</td></tr>";
              } echo 
              "</table>";
              }


              ?>
              Wenn ich:
              Code:
               SELECT * FROM buero WHERE (PLZ = '1130') and (Preis between '100' and '1000000')  AND  (Flaeche between '800' and '3000' ) AND (Art LIKE 'Miete') order by ID asc
              ins phpmyadmin tippe bekomm ich ein Ergebnis.

              Aber wenn ich die gleichen Daten in die Suchmaske eingebe bekomm ich eine leere Tabelle, wieso?

              Kommentar


              • #8
                Hast du es mal mit den Grundlagen von Debugging probiert?
                Was steht in deinen Feldern?
                Was steht in dem Querystring?
                Was soll (Art LIKE '$art') bewirken? LIKE ohne %% ist das gleiche wie =.

                Was hat die Eingabe in PHPMyAdmin mit deinem Code zu tun? Dein Code sieht ganz anders aus!
                **********************************
                Nein, ich bin nicht die Signatur.
                Ich putze hier nur.
                **********************************

                Kommentar


                • #9
                  ok, danke habs hinbekommen

                  Kommentar


                  • #10
                    Nur so nebenbei, du solltest die Namen der Felder und Tabellen in `` stellen Bsp:
                    PHP-Code:
                    SELECT FROM `bueroWHERE (`PLZ` = '1130') and (`Preisbetween '100' and '1000000'
                    und SELECT mit dem Selector * ist nicht das beste, besser eindeutige Selectoren verwenden z.b. `Preis` / `PLZ`
                    PHP-Code:
                    if ( $humans >= ) {
                       
                    war ();

                    Kommentar

                    Lädt...
                    X