tom: pass aus tabelle auslesen

hallo,
ich habe eine tabelle mit dem namen alben.
sie hat die zeilen aid, description, pass und date.
durch pass werden alben angegeben, die nur mit pw-abfrage betrachtet werden können.
die links zu den alben hab ich schon erstellt.
wie kann ich es nur realisieren, dass hinter den geschützten nun auch sowas wie "(pw-abfrage)" steht?
genauer, wie kann ich, abhängig von dem wert in "pass" (1 oder 0), diese ausgabe machen?
vielen dank schonmal im voraus. ich arbeite mich gerade erst seit ein paar tagen in php un sql ein, daher hab ich noch nicht so den überblick.

mfg, tom

  1. Halihallo tom

    sie hat die zeilen aid, description, pass und date.

    Nein, ich hoffe für dich, dass es nicht Zeilen, sondern Spalten sind.

    wie kann ich es nur realisieren, dass hinter den geschützten nun auch sowas wie "(pw-abfrage)" steht?
    genauer, wie kann ich, abhängig von dem wert in "pass" (1 oder 0), diese ausgabe machen?

    Hole dir den Wert von pass aus der Datenbank und gebe über die Kontrollstruktur if
    den Text aus, wenn der Wert 1 ist.

    vielen dank schonmal im voraus. ich arbeite mich gerade erst seit ein paar tagen in php un sql ein, daher hab ich noch nicht so den überblick.

    Denke logisch und einfach, denn das tut der Computer auch. Und lerne die Grundlagen
    aufmerksam und vollständig.

    Viele Grüsse

    Philipp

    1. ja, natürlich hab ich die spalte gemeint.
      aber wie realisiere ich das nun mit php?

      $passwort = mysql_query("SELECT pass from $config[TABLE_PICTURES] where pass=1");
      if($passwort=1) echo("(passwortabfrage");

      das funktioniert nicht.
      leider hab ich keine ahnung, wie ich der variablen passwort den wert von pass aus der tabelle zuweisen kann.

      mfg, tom

      1. Halihallo tom

        $passwort = mysql_query("SELECT pass from $config[TABLE_PICTURES] where pass=1");
        if($passwort=1) echo("(passwortabfrage");
        das funktioniert nicht.

        Was wird von mysql_query http://www.php.net/manual/de/function.mysql-query.php
        zurückgegeben? - Richtig eine Ressource oder ResultSet, zu Deutsch: Ergebnis.
        Was kann man nun mit diesem Ergebnis? - Man kann die nötigen Informationen daraus
        holen, z. B. über: http://www.php.net/manual/de/function.mysql-fetch-row.php.

        Du solltest dir http://www.php.net/manual/de/ref.mysql.php durchlesen.

        leider hab ich keine ahnung, wie ich der variablen passwort den wert von pass aus der tabelle zuweisen kann.

        Warum hast du nicht nachgelesen und die Beispiele unter www.php.net angesehen?

        Viele Grüsse

        Philipp

  2. hi,
    sorry, aber so richtig komm ich nicht damit weiter.
    hab vorher schonmal mit fetch_row versucht, weiss aber nicht, wie das richtig funkt

    $pass = mysql_query("select* from alben where aid=$row[aid] and pass=1");
    $pass2 = mysql_fetch_row ($pass);
    if($pass2==1) echo ("test");

    keine ahnung, wie ich das machen soll. so richtig blick ich noch nicht durch

    mfg, tom

    1. Hallo tom,

      $pass = mysql_query("select* from alben where aid=$row[aid] and pass=1");

      http://www.dclp-faq.de/q/q-sql-select.html

      $pass2 = mysql_fetch_row ($pass);
      if($pass2==1) echo ("test");

      *grmpf* du hast gelesen, was mysql_fetch_row() zurückliefert, ja? richtig, ein indiziertes Array. Und wie greift man auf Arrays zu? Genau, mit $var['key'] (wobei key in dem Fall eine Zahl ist) siehe auch http://www.php.net/language.types.array. Folglich musst du auf $pass2[0]==1 testen* (aber nur, wenn du von mysql_query() nur einen Datensatz zurückgeliefert bekommst - wenn es mehr als einer ist, brauchst du eine Schleife).

      * ob es bei dir 0 ist, kann ich dir nicht sagen, da ich nicht weiß, an welcher Stelle die Spalte die du suchst steht (im Zweifelsfall schreib mal print_r($pass2);)

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    2. Halihallo tom

      sorry, aber so richtig komm ich nicht damit weiter.

      Das ist mir schon klar und das habe ich beabsichtigt. Du sollst die Lösung selber
      finden, ich weise nur den Weg.

      hab vorher schonmal mit fetch_row versucht, weiss aber nicht, wie das richtig funkt

      funken tut da hoffentlich gar nix. mysql_fetch_row holt lediglich ein Array. Das
      Array ist eine Liste von Werten, die du über einen Index ansprichst. Wenn du also
      einen Query "SELECT pass FROM alben WHERE aid=... AND pass='1'" hast, wirst du
      'pass' über den Arrayindex 0 ansprechen können (0 ist der erste Index im Array, und
      pass steht ja beim SELECT an erster Stelle).
      Informiere dich auf php.net über den Begriff des Arrays.

      $pass = mysql_query("select* from alben where aid=$row[aid] and pass=1");

      $antwort = mysql_query     oder
      $result  = mysql_query

      du solltest sinnvolle Namen verwenden, mit pass hat der Rückgabewert von mysql_query
      nichts zu tun, was gibt mysql_query nochmal zurück?

      $pass2 = mysql_fetch_row ($pass);

      Frage: Was ist $pass2 für ein Datentyp? - Und was steht dort nach erstmaligem ausführen
      von mysql_fetch_row drin?

      übrigens: Unter http://www.php.net/manual/de/function.mysql-fetch-array.php
      findest du noch einige Beispiele.

      keine ahnung, wie ich das machen soll. so richtig blick ich noch nicht durch

      Geduld.

      Viele Grüsse

      Philipp