PN und Benutzer Tabellen verknüpfen und anzeigen

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

  • PN und Benutzer Tabellen verknüpfen und anzeigen

    Hallo zusammen,

    möchte ein PN System entwicklen, DB hab ich bereits definiert:

    CREATE TABLE `pn` (
    `id` int(11) NOT NULL auto_increment,
    `userid` int(11) NOT NULL default '0',
    `betreff` varchar(255) NOT NULL default '',
    `nachricht` text NOT NULL,
    `datum` date NOT NULL default '0000-00-00',
    `zeit` time NOT NULL default '00:00:00',
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=3 ;

    Hier wäre die User DB:

    CREATE TABLE `benutzerdaten` (
    `Id` int(11) NOT NULL auto_increment,
    `Nickname` varchar(50) NOT NULL default '',
    `Kennwort` varchar(50) NOT NULL default '',
    `Nachname` varchar(50) NOT NULL default '',
    `Vorname` varchar(50) NOT NULL default '',
    `Email` varchar(70) NOT NULL default '',
    PRIMARY KEY (`Id`)
    ) TYPE=MyISAM AUTO_INCREMENT=13 ;


    Jetzt möchte ich das der eingeloggte user seine PN nachrichten lesen kann, meine Frage, wie kann ich die Tabellen so verknüpfen das nur die PN von den User jeweilige user angezeigt werden?

    vielen dank für die rasche antwort

  • #2
    http://www.php-resource.de/forum/sho...threadid=28292
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      hab nicht ganz den andere thread verstanden

      vielen dank für die rasche antwort, leider kann ich den anderen Thread nicht so ganz verstehen, kannst anhang von meiner DB die verknüpfungen machen?

      Kommentar


      • #4
        OffTopic:
        Verstehen setzt Lesen voraus

        Kommentar


        • #5
          Kannst ja zwei sql-Abfragen machen. etwa so:
          PHP-Code:
          $sqla "SELECT id FROM benutzerdaten WHERE user='".$user."'";
          $querya mysql_query($sqla);
          $resa mysql_fetch_array($querya);

          $id $resa['id'];

          $sqlb "SELECT * FROM pn WHERE userid='".$id."'ORDER BY id DESC";
          $queryb mysql_query($sqlb);
          while(
          $eintraege mysql_fetch_object($queryb))
          //hier kannst du jetzt das Ganze noch Grafisch umsetzen
          echo '"'.eintraege->nachricht.'"'
          In der while-Schlaufe setzt du einfach alles ein, was du ausgegeben haben willst mit eintraege->blabla.
          "Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
          wer die Hände in den Schoß legt, macht gar keine Fehler."

          Friedrich Alfred Krupp

          Kommentar


          • #6
            Kannst ja zwei sql-Abfragen machen. etwa so:
            nein.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              was nein?
              "Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
              wer die Hände in den Schoß legt, macht gar keine Fehler."

              Friedrich Alfred Krupp

              Kommentar


              • #8
                2 Abfragen sind unkuhl und inperformant. Meistens.
                Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                var_dump(), print_r(), debug_backtrace und echo.
                Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                Kommentar


                • #9
                  Schlimm find ichs nicht. Ich hab ein Gästebuch so gemacht. Hat doch noch relativ viele Einträge und ich hätte noch nie bemerkt, dass es langsam ist. Dass es uncool ist...naja...vielleicht kann man es schöner lösen, aber dann bring doch deine Lösung!
                  "Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
                  wer die Hände in den Schoß legt, macht gar keine Fehler."

                  Friedrich Alfred Krupp

                  Kommentar


                  • #10
                    Die Lösung steht doch schon hier im Thread...

                    Original geschrieben von mrhappiness
                    http://www.php-resource.de/forum/sho...threadid=28292
                    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                    var_dump(), print_r(), debug_backtrace und echo.
                    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                    Kommentar


                    • #11
                      Ich wollte nur einen anderen Ansatz noch miteinbringen, da
                      lan das ganze nicht wirklich verstanden hat.

                      leider kann ich den anderen Thread nicht so ganz verstehen
                      aber die andere Lösung ist schon eleganter
                      "Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
                      wer die Hände in den Schoß legt, macht gar keine Fehler."

                      Friedrich Alfred Krupp

                      Kommentar


                      • #12
                        siehe fehlermeldung :
                        Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in pn.php on line 9

                        Original geschrieben von phpnixchecker
                        Kannst ja zwei sql-Abfragen machen. etwa so:
                        PHP-Code:
                        $sqla "SELECT id FROM benutzerdaten WHERE user='".$user."'";
                        $querya mysql_query($sqla);
                        $resa mysql_fetch_array($querya);

                        $id $resa['id'];

                        $sqlb "SELECT * FROM pn WHERE userid='".$id."'ORDER BY id DESC";
                        $queryb mysql_query($sqlb);
                        while(
                        $eintraege mysql_fetch_object($queryb))
                        //hier kannst du jetzt das Ganze noch Grafisch umsetzen
                        echo '"'.eintraege->nachricht.'"'
                        In der while-Schlaufe setzt du einfach alles ein, was du ausgegeben haben willst mit eintraege->blabla.

                        Kommentar

                        Lädt...
                        X