Ankündigung

Einklappen
Keine Ankündigung bisher.

Abfrage per Formular

Einklappen

Neue Werbung 2019

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

  • Abfrage per Formular

    Hallo!
    Habe ein Formular suche:
    Code:
    <form action="kalenderwochesuche.php" method="post">
    <table align="center" width="200">
        <tr>
            <td>Kalenderwoche:<input name="kalenderwoche" type="text" maxlength="10" size="5" /></td>
            <td>Jahr <input name="jahr" type="text" maxlength="10" size="5" /></td>
        </tr><tr>
            <td colspan="2"><input type="submit" value="Kalender abfragen" /></td>
        </tr>
    </table>
    
    
    </form>
    und die kalenderwochesuche.php;
    Code:
    <?php
    include("dbconnect");
    
    
        $kalenderwoche = $_POST['kalenderwoche'];
        $jahr = $_POST['jahr'];
        echo "<b>Du hast nach der Kalenderwoche <u>$kalenderwoche</u> und dem Jahr <u>$jahr</u> gesucht. Dadurch wurden folgende Einträge gefunden:</b><br /><br />";
    
    $result = mysql_query("SELECT * FROM KSS WHERE kalenderwoche LIKE '%$kalenderwoche%' AND '%$jahr%' ");
    
    ?>
    warum funktioniert dies so nicht.
    Wenn ich das "jahr" rausnehme funktioniert dies mit der Kalenderwoche.
    Wie kann ich beides abfragen?
    http://www.krassevideos.net
    http://www.mein-neues-iphone.de
    http://www.webkatalog.es


  • #2
    Code:
    kalenderwoche LIKE '%$kalenderwoche%'
    Code:
    '%$jahr%'
    Finde den Unterschied.

    Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt.
    Durch einen Wechsel auf mysqli_* oder PDO greifst du auf die modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections schützen.
    Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Zitat von VPh Beitrag anzeigen

      Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt.
      Durch einen Wechsel auf mysqli_* oder PDO greifst du auf die modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections schützen.
      Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
      Habe ich mittlerweile auch mitbekommen.
      Code:
        // Daten in eine MySQL-Datenbank eintragen mit PDO (Vorschlag) - Bitte anpassen!
      
        // Datenbank-Host
        $dbHost = "localhost";
      
        // Datenbank-Name
        $dbName = "aaaaaaa";
      
        // Datenbank-Benutzer
        $dbBenutzer = "bbbbbbbb";
      
        // Datenbank-Passwort
        $dbPasswort = "cccccccc";
      
        // Verbinden
        $DB = new PDO("mysql:host=" . $dbHost . ";dbname=" . $dbName,  $dbBenutzer, $dbPasswort);
      und wie muß ich dann die DB abfragen?
      Code:
      $result = mysql_query("SELECT * FROM KSS ORDER BY kalenderwoche");
      funktioniert dann ja nicht
      http://www.krassevideos.net
      http://www.mein-neues-iphone.de
      http://www.webkatalog.es

      Kommentar


      • #4
        Code:
        kalenderwoche LIKE '%$kalenderwoche%'
        "kalenderwoche" = Spalte die geprüft wird
        "LIKE" = Vergleichsoperator
        "%$kalenderwoche%'" = Wert auf den geprüft wird

        Code:
        '%$jahr%'
        "'%$jahr%'" = Wert auf den geprüft wird


        Dir fehlt einfach etwas in der Abfrage.
        Relax, you're doing fine.
        RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

        Kommentar


        • #5
          Zitat von VPh Beitrag anzeigen
          Code:
          kalenderwoche LIKE '%$kalenderwoche%'
          Code:
          '%$jahr%'
          Finde den Unterschied.
          naja. hab den wohl jetzt gesehen:

          Code:
          $result = mysql_query("SELECT * FROM KSS WHERE kalenderwoche LIKE '%$kalenderwoche%' AND jahr LIKE '%$jahr%' ");
          Kann ja das Jahr nicht bei der kalenderwoche abfragen
          http://www.krassevideos.net
          http://www.mein-neues-iphone.de
          http://www.webkatalog.es

          Kommentar


          • #6
            Ähm, was willst du jetzt machen, die veraltete MySQL-Schnittstelle weiter verwenden oder auf PDO oder MySQLi umsteigen? Mischen geht nicht!

            Und mal ganz davon abgesehen, ein Like bei einer Kalenderwoche und Jahr erscheint mir doch Quatsch zu sein.
            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

            Kommentar


            • #7
              Zitat von uha Beitrag anzeigen
              Ähm, was willst du jetzt machen, die veraltete MySQL-Schnittstelle weiter verwenden oder auf PDO oder MySQLi umsteigen? Mischen geht nicht!
              Am liebsten PDO

              Und mal ganz davon abgesehen, ein Like bei einer Kalenderwoche und Jahr erscheint mir doch Quatsch zu sein.
              Da gebe ich Dir recht., darum geändert auf
              Code:
              $result = mysql_query("SELECT * FROM KSS WHERE kalenderwoche = '$kalenderwoche' AND jahr = '$jahr' ");
              http://www.krassevideos.net
              http://www.mein-neues-iphone.de
              http://www.webkatalog.es

              Kommentar


              • #8
                CROSSPOSTING
                Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                Kommentar

                Lädt...
                X