Daten aus MySQL-Datenbank (Wo ist der Fehler?)

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

  • Daten aus MySQL-Datenbank (Wo ist der Fehler?)

    Hi.

    Die Folgende Funktion soll prüfen, ob in einem Eintrag aus einer Datenbanktabelle der Wert submenu gleich 1 oder 0 ist.
    Hier erstmal der Code und dann mein Problem.
    PHP-Code:
    function print_submenu_content($scat$ssub)
    {
        
    $tsmenuresult = @mysql_query("SELECT * FROM ".$scat." WHERE category='".$ssub."'");
        
    $tsmenudata mysql_fetch_array($tsmenuresult);

        echo(
    "
            <p><b>"
    .$tsmenudata[category]."</b>
        "
    );

        
    $subornot ".$tsmenudata[submenu].";

        
    $screquete "SELECT * FROM ".$scat." WHERE category='".$ssub."'";
        
    $scresult = @mysql_query($screquete) OR die(mysql_error());
        while (
    $subDb =mysql_fetch_object($scresult))
        {
            if(
    $subornot ="1")
            {
                echo(
    "
                      <br>..::]<a href='
    $subDb->link'>$subDb->name</a>
                "
    );
            }
            else
            {
                echo(
    "
                    <br>
    $subDb->text
                "
    );
            }
        }

    Das Problem ist, das auch wenn $subornot 0 ist ein Link anstatt eines Textes angezeigt wird.

    Die Verbindung mit der Datenbank ist bereits hergestellt und die Variablen $scat und $ssub wurden von einem anderem Script übergeben.

    Ich kann hier wirklich keinen Fehler finden.
    Ich wäre sehr dankbar, wenn mir einer von Euch vielleicht weiterhelfen könnte.


    Greetz
    HPINC

  • #2
    Versuchs mal mit
    if($subornot == "1")
    Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
    (Albert Einstein)

    Kommentar


    • #3
      Hi.

      Ich habs gerade mit $subornot =="1" probiert.
      Aber dann wird nur Text angezeigt. Auch dann, wenn Links angezeigt werden sollen.

      Weiss vielleicht irgendweiner hier, warum?

      Greetz
      HPINC

      Kommentar


      • #4
        hmm....welchen Wert hat den subornot?
        Gib doch mal die Variable aus...das kann normal nich sein dass der else Zweig ausgeführt wird wenn subornot den Wert 1 hat...

        Alternativ würd ichs mal mit Integer versuch und den String weglassen also so:
        if($subornot == 1)
        Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
        (Albert Einstein)

        Kommentar


        • #5
          Hi.

          Der Wert von $subornot soll ja entweder 1 oder 0 sein.
          In der Datenbank habe ich das mit enum ('0','1') gemacht.

          Ich habe die Werte ausgeben lassen. Dort wo es 0 sein soll ist es auch 0. Aber es wird .0. Ausgegeben. Und dort wo es 1 sein soll wird .1. ausgegeben. Aber es wird immer nur der Text ausgeben. Auch dort wo .1. ausgegeben wird.
          Also wird der else-Zweig ausgeführt, obwohl der Wert in der Datenbank 1 ist.


          Bitte Hilfe!

          Greetz
          HPINC

          Kommentar


          • #6
            .0. ist ein String und kein Integer, deswegen funktioniert die if Abfrage nicht

            Logischerweise ist ja .1. nicht das selbe wie 1

            Ich weiß jetzt aber nicht was mit enum gemeint ist...
            Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
            (Albert Einstein)

            Kommentar


            • #7
              Hi.

              Ahh na klar!
              Ok jetzt gehts.
              Danke!

              enum ist der Typ des Feldes in der Datenbank. Es beschränkt die Werte die in diesem Feld angegeben werden können, auf die Parameter die man da angibt (in diesem Fall 0 und 1 ('0','1')).
              Warum dort allerdings .1. und .0. augegeben wird, weiss ich nicht.

              Ich habe auch mal den Typ des Feldes in INT geändert, aber es wurde trozdem .0. und .1. ausgegeben.

              Greetz
              HPINC
              Zuletzt geändert von [=-!H.P.INC.!-=; 14.09.2003, 01:15.

              Kommentar


              • #8
                wenn du den wert mit
                PHP-Code:
                $subornot ".$tsmenudata[submenu]."
                zuweist, darfst du dich doch wohl nicht wirklich wundern, wenn das punkte drumrum stehen ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X