Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] filterwert

Einklappen

Neue Werbung 2019

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

  • [Erledigt] filterwert

    ich habe zwar schon ne frage dazu am laufen
    ich will nen dynamischen formularfilter, das geht schon...nur es werden mir beim öfnnen des formilares keine datensätze angezeigt und nach setzen des gefilterten werden die ja richtigerweise angezeigt ..nur ich möchte das beim öffnen alle gezeigt werden und erst mit betätigen des filters die datensätze gefiltert werden
    hier mal ein codeauszug

    $username = $_GET['usereingabe'];
    $colname_user = null;
    if (isset($_GET['username'])) {
    $colname_user = (get_magic_quotes_gpc()) ? $_GET['username'] : addslashes($_GET['username']);
    }
    mysql_select_db($database_mysql, $mysql);
    $query_user = sprintf("SELECT username, lastname, userlevel, dstnr FROM `_user` WHERE username = '%s'", $colname_user);
    $user = mysql_query($query_user, $mysql) or die(mysql_error());
    $row_user = mysql_fetch_assoc($user);
    $totalRows_user = mysql_num_rows($user);
    ?>
    <form name="form2" method="get" action="/test.php?">
    <input name="username" type="text" id="username">
    <input type="submit" name="Submit" value="Senden">
    </form>
    <form name="form1" method="post" action="">
    <table border="1">
    <tr>
    <td>username</td>
    <td>lastname</td>
    <td>userlevel</td>
    <td>dstnr</td>
    </tr>
    <?php do { ?>
    <tr>
    <td><?php echo $row_user['username']; ?></td>
    <td><?php echo $row_user['lastname']; ?></td>
    <td><?php echo $row_user['userlevel']; ?></td>
    <td><?php echo $row_user['dstnr']; ?></td>
    </tr>
    <?php } while ($row_user = mysql_fetch_assoc($user)); ?>
    </table>
    </form>

    <?php
    mysql_free_result($user);
    ?>


  • #2
    Und nun denken wir mal nach!

    PHP-Code:
    <?php
    $query_user 
    sprintf("SELECT username, lastname, userlevel, dstnr FROM `_user` WHERE username = '%s'"$colname_user);
    ?>
    Was soll da auch auch bei rauskommen, wenn $_GET['username'] nicht gesetzt ist? Für den Fall ist die Bedingung doch Quatsch, oder?

    Gruß
    phpfan

    Kommentar


    • #3
      nein der liefert ja den filterwert wenn ich einen eingebe ..nur der soll wenn keiner drinnen steht auch nicht filtern sondern alles anzeigen

      Kommentar


      • #4
        ich sitze schon den ganzen tag an der schei... menno einfach mal nen tipp mit dem ein anfänger was anfangen kann

        Kommentar


        • #5
          Dann änder bzw. füg die WHERE-Bedingung eben nur (ein), wenn auch ein "filter" übergeben wurde.

          Kommentar


          • #6
            ja und wie geht das ??? das die where nur da ist wenn ich den filter setze ???

            Kommentar


            • #7
              Genauso wie den User-Namen einzufügen.

              Eine Kombi aus if und else und der Funktion isset(). Mehr im Manual.

              Kommentar


              • #8
                Wie um alles in der Welt kommt man auf die Schnapsidee mit dem Programmieren anzufangen, wenn man schon so simple Vorgänge nicht auf die Reihe bekommt? Denken ist beim Programmieren mindestens genauso wichtig wie das Beherrschen der Programmiersprache.
                PHP-Code:
                <?
                  if (isset($_GET['username']))
                    $colname_user = (get_magic_quotes_gpc()) ? $_GET['username'] : addslashes($_GET['username']); 
                  else
                    $colname_user = "";
                   
                  mysql_select_db($database_mysql, $mysql); 
                  
                  $query_user = "SELECT username, lastname, userlevel, dstnr FROM `_user`"); 
                  
                  if (strlen($colname_user))
                     $query_user .= " WHERE username = '$colname_user'"; 

                  $user = mysql_query($query_user, $mysql) or die(mysql_error()); 
                  $row_user = mysql_fetch_assoc($user); 
                  $totalRows_user = mysql_num_rows($user); 
                ?>
                Ist das jetzt wirklich so schwer? Kopfschüttel

                Gruß
                phpfan

                Kommentar


                • #9
                  hallo ich bin anfänger ...darum heißt dieser forumabschnitt doch auch so oder ??? aber danke ich probiere es ..nur ist das nicht das einzige problem ich muß noch 2 andere filter setzen können..datum dstnr

                  Kommentar


                  • #10
                    "Anfänger sein" ist aber nicht gleichzusetzen mit "Denken abschalten", oder?

                    Gruß
                    phpfan

                    Kommentar


                    • #11
                      bekomme da die fehlermeldung

                      Parse error: parse error, unexpected ')' in F:\web\test.php on line 10
                      und line 10 stht nichts drin ???

                      Kommentar


                      • #12
                        neee das nicht aber wie hast du denn mal angefangen ??? arrogant auf jemand herabschauen ist einfach

                        Kommentar


                        • #13
                          Zitat von Bratze06
                          arrogant auf jemand herabschauen ist einfach
                          Was hat das mit arrogant zu tun? Du willst mir doch jetzt nicht erzählen, dann man da selbst als Anfänger nicht drauf kommen kann, wenn man mal etwas nachdenkt!!!

                          Und nochwas, Parse-Errors kann man auch als Anfänger finden, da muss man nämlich nur mal die Augen aufmachen!!!
                          PHP-Code:
                          $query_user "SELECT username, lastname, userlevel, dstnr FROM `_user`"); 
                          Da ist die schließende Klammer zu viel. Und komm mir jetzt nicht damit, dass ich ja diese Zeilen gepostet hätte, ich teste nämlich nicht alles, was ich hier schreibe. Das ist immer noch die Aufgabe des OP.

                          Gruß
                          phpfan

                          Kommentar


                          • #14
                            neee ich habe mit php vor 3 tagen angefangen also ich bitte dich was hast du nach 3 alles gewusst ??? den ganzen mysql und php-syntax aus dem kopf ..was ??? ich sitze hier seit heute morgen und komme einfach nicht drauf..da dachte ich einfach ich frag mal nach ..aber von oben herab lasse ich nicht behandeln

                            Kommentar


                            • #15
                              Richtig debuggen
                              1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
                              2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
                              3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
                              4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
                              5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
                              6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
                              7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

                              Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

                              Gruß
                              phpfan

                              Kommentar

                              Lädt...
                              X