[MySQL 4.1] Abfrage Problem

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

  • [MySQL 4.1] Abfrage Problem

    Hallo zusammen , habe grad en kleines Problem ( ich weiss ist nen dummer Fehler ) , aber ich findi ihn gerade nicht !

    ich habe mehrer einträge in der DB , aber er zeigt mir immer nur den 1. an . hier mal mein script :

    PHP-Code:


    <?php 
    session_start 
    (); 
    if (!isset (
    $_SESSION["user_id"])) 

      
    header ("Location: formular.php"); 

    ?>
    <?
    $db = mysql_connect("localhost","****" ,"*****");
    mysql_select_db("*******",$db);
    $abfrage = "SELECT * FROM pn Where id =" . $_SESSION['user_id'];

    $ergebnis = mysql_query($abfrage);
    if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
    $ergebnis2 = mysql_fetch_array($ergebnis);

    $von = $_POST["von"];
    $an = $_POST["an"];
    $betreff = $_POST["betreff"];
    $nachricht = $_POST["nachricht"];
    $datum = $_POST['datum'];
    ?>


    <html>
    <body text="#000000" link="white" alink="white" vlink="white" bgcolor="#808080">
    <br><br>
    <table align="center" width="70%" border="1">

    <td align="center"><?echo $ergebnis2['von']; ?></td>
    <td align="center"><?echo $ergebnis2['betreff']; ?></td>
    <td align="center"><?echo $ergebnis2['datum']; ?></td>
    </table>

    </body>

    </html>

    kann mir wer auf die sprünge helfen ?

    gruss launebaer

  • #2
    while

    Kommentar


    • #3
      http://www.schattenbaum.net/php/anze...a3112af4d8dda6

      Kommentar


      • #4
        OffTopic:
        Und die Session-ID bekommst du gleich mitgeliefert

        Kommentar


        • #5
          Danke für die Hilfe !

          So geht es :

          PHP-Code:

          <?
          $db = mysql_connect("localhost","****" ,"*****");
          mysql_select_db("******",$db);
          $abfrage = "SELECT * FROM pn";

          $ergebnis = mysql_query($abfrage);
          if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
          while ($ergebnis2 = mysql_fetch_array($ergebnis))
          {

          $von = $_POST["von"];
          $an = $_POST["an"];
          $betreff = $_POST["betreff"];
          $nachricht = $_POST["nachricht"];
          $datum = $_POST['datum'];
          ?>


          <html>
          <body text="#000000" link="white" alink="white" vlink="white" bgcolor="#808080">
          <br><br>
          <table align="center" width="70%" border="1">

          <td align="center"><?echo $ergebnis2['von']; ?></td>
          <td align="center"><?echo $ergebnis2['betreff']; ?></td>
          <td align="center"><?echo $ergebnis2['datum']; ?></td>
          </table>
          <?
          }
          ?>

          aber wenn ich es mit

          PHP-Code:
          $abfrage "SELECT * FROM pn Where id =" $_SESSION['user_id']; 
          kommt wieder nur der erste eintrag ! Ich brauche es mit $_session , weil der user nur seine Pn´s lesen darf und nicht jeder alle !

          weiss noch jemand Rat ?


          Gruss launebaer
          Zuletzt geändert von launebaer; 17.11.2004, 20:41.

          Kommentar


          • #6
            ist id die UserID?

            Kommentar


            • #7
              ich habe 2 tabellen in der Datenbank

              1. user
              2. pn

              in beiden gibt es die id

              in User ist id = die user id und in pn ist es nur ne id

              zu sagen ist noch das ich die abfrage über ( gesendet "an" = machen möchte

              also wenn mein name in Tabelle pn auftauchst so soll er mir es anzeigen !

              Komischer weise funktioniert es so im 1. post von mir , nur das dort eben nur der erste eintrag angezeigt wird ( ich habe zum testen 2 Einträge gemacht mit meinen namen als empfänger )

              edit:

              PHP-Code:

              <?php 
              session_start 
              (); 
              if (!isset (
              $_SESSION["user_id"])) 

                
              header ("Location: formular.php"); 

              ?>
              damit muss das was zu tun haben

              Edit 2 :

              Logisch das es beim aller ersten post ging , mein name ist in der Tabelle auch Id = 1 aso konnte er ja das auslesen !

              wie mach ich es nun das wenn ich eingelogt bin , das ich das lesen kann was an mich gerichtet ist ohne das es andere lesen können ?
              Zuletzt geändert von launebaer; 17.11.2004, 20:09.

              Kommentar


              • #8
                1. nimm html- und body-Tag aus der Schleife raus, wieviele von den Tags willste denn haben
                2. mach echo $abfrage und prüfe, ob die Abfrage korrekt ist, test sie ggf. in phpmyadmin. bekommst du mehr Datensätze?

                Kommentar


                • #9
                  habe meinen letzte beitrag edidiert , vielleicht kann man besser helfen ?


                  danke für eure Geduld


                  Gruss

                  launebaer

                  Kommentar


                  • #10
                    Doink!

                    und in pn ist es nur ne id
                    Denk mal drüber nach!

                    Kommentar


                    • #11
                      Original geschrieben von launebaer
                      ... und in pn ist es nur ne id

                      zu sagen ist noch das ich die abfrage über ( gesendet "an" = machen möchte

                      [color=red]also wenn mein name in Tabelle pn auftauchst so soll er mir es anzeigen ![/color]
                      bitte etwas genauer! denn so wie du hier erklärt, kannst du mit der Abfrage:
                      PHP-Code:
                      $abfrage "SELECT * FROM pn Where id =" $_SESSION['user_id']; 
                      nicht viel erreichen.

                      Kommentar


                      • #12
                        ich schätze mal ich müsste es so machen :

                        PHP-Code:
                        $abfrage "SELECT * FROM pn WHERE an"


                        aber so bekomme ich nur ne weisse seite



                        nungut ich kämpf mich durch und danke nochmal

                        Kommentar


                        • #13
                          was soll denn "where an" bringen???

                          Kommentar


                          • #14
                            poste mal Tabellenstruktur der beiden Tabelle und den Zusammenhang zwischen den beiden erläutern. Ich vermute, dass du JOIN nehmen mußt.

                            Kommentar


                            • #15
                              hier für " pn "

                              #
                              # Tabellenstruktur für Tabelle `pn`
                              #

                              CREATE TABLE `pn` (
                              `id` int(11) NOT NULL auto_increment,
                              `von` varchar(11) NOT NULL default '0',
                              `an` varchar(11) NOT NULL default '0',
                              `betreff` longtext NOT NULL,
                              `nachricht` longtext NOT NULL,
                              `datum` timestamp(14) NOT NULL,
                              PRIMARY KEY (`id`)
                              ) TYPE=MyISAM AUTO_INCREMENT=3 ;


                              Und hier für benutzerdaten :

                              #
                              # Tabellenstruktur für Tabelle `benutzerdaten`
                              #

                              CREATE TABLE `benutzerdaten` (
                              `Id` int(11) NOT NULL auto_increment,
                              `Nickname` varchar(50) NOT NULL default '',
                              `Kennwort` varchar(50) NOT NULL default '',
                              `Email` varchar(50) NOT NULL default '',
                              `name` varchar(50) NOT NULL default '',
                              `Herkunft` varchar(20) NOT NULL default '',
                              `SIG` varchar(200) NOT NULL default '',
                              `ICQ` varchar(20) NOT NULL default '',
                              `MSN` varchar(30) NOT NULL default '',
                              `BILD` varchar(100) NOT NULL default '',
                              PRIMARY KEY (`Id`)
                              ) TYPE=MyISAM AUTO_INCREMENT=9 ;

                              Kommentar

                              Lädt...
                              X