while($row = mysql_fetch_object($sql))

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

  • #31
    Ok.

    2 bestehende Tabellen:
    PHP-Code:
    Tabelle "user"

    |_id_|_name
    |_1_|_Ich
    |_2_|_Ich2
    |_3_|_Ich3

    Tabelle 
    "usermailbox"

    |_id_|_fromuserid_|_touserid_|_usertext
    |_1______2_________1___________n1
    |_2______3_________1___________n2
    |_3______4_________2___________n3 
    Nun will ich alle Nachrichten ausgeben die zu meiner Session ID passen.
    Ansatz:
    PHP-Code:
    $sql mysql_query('SELECT * FROM usermailbox INNER JOIN user ON usermailbox.fromuserid = user.id WHERE usermailbox.touserid = '.$_SESSION["session_id"]);  
    while(
    $row mysql_fetch_object($sql))
      { 
        echo 
    '<a href=index.php?content=profil&id='.$row->fromuserid.'>'.$row->username.'</a>'.$row->usertext.'<hr><br>';
      } 
    Funktioniert auch so wie ich will, doch kommt immer nur EINE mail als Ausgabe hervor anstatt mehrere (mehrere sind vorhanden)

    EDIT: Nehmen wir mal an meine Session ID ist "1".
    Dann müsste angezeigt werden:
    PHP-Code:
    user.id=name=ich2 usertext=n1
    user
    .id=name=ich3 usertext=n2 
    Zuletzt geändert von phpMorpheus2; 29.01.2008, 12:00.

    Kommentar


    • #32
      Original geschrieben von H2O
      schmeiss mal das SELECT * FROM raus
      Warum? Das ist doch nicht weiter gefährlich oder?
      Ob ich nun mühsam alle Tabellennamen abschreibe oder ob ich * benutze.
      Kommt doch aufs selbe hinaus oder?

      Kommentar


      • #33
        Hätte mir jemand gesagt das ich unter phpMyAdmin zum Testen einen Code reinschreiben kann, dann würde alles viel einfach gehen -.-
        Habs grad gefunden und so mein Problem lösen können.

        Danke Leute.
        Wen es interessiert:
        PHP-Code:
        $sql mysql_query('SELECT * FROM usermailbox INNER JOIN user ON usermailbox.fromuserid = user.id WHERE usermailbox.touserid = '.$_SESSION["session_id"]);
        while(
        $row mysql_fetch_object($sql))
          { 
            echo 
        '<a href=index.php?content=profil&id='.$row->fromuserid.'>'.$row->username.'</a>'.$row->usertext.'<hr><br>';
          } 

        Kommentar


        • #34
          Warum? Das ist doch nicht weiter gefährlich oder?
          Ob ich nun mühsam alle Tabellennamen abschreibe oder ob ich * benutze.
          Kommt doch aufs selbe hinaus oder?
          Warum soll ich nicht SELECT * schreiben?

          Hätte mir jemand gesagt das ich unter phpMyAdmin zum Testen einen Code reinschreiben kann, dann würde alles viel einfach gehen -.-
          Sowas wird hier als Grundlagen angenommen. Normalerweise auch zurecht.

          Kommentar


          • #35
            Original geschrieben von phpMorpheus2
            Warum? Das ist doch nicht weiter gefährlich oder?
            Das nicht, aber ein Performance-Killer. Du benötigst drei Attribute und holst deren sechs. Den Link zu den weiteren Gründen habe ich dir ja schon geschickt. Ausserdem gäbe eine Aufzählung hier auch noch eine Blick auf eine Teil deiner Datenstruktur.
            Und wenn der Inhalt deiner Tabellen genau so ist, wie von die beschrieben, erhälst du mit deiner Abfrage auch zwei Rows.
            Gruss
            H2O

            Kommentar


            • #36
              Original geschrieben von phpMorpheus2
              Habs grad gefunden und so mein Problem lösen können.
              Dann zeig uns doch noch den Unterschied zu deinem letzten Code, der nicht funktioniert haben soll!
              Gruss
              H2O

              Kommentar


              • #37
                Original geschrieben von H2O
                Dann zeig uns doch noch den Unterschied zu deinem letzten Code, der nicht funktioniert haben soll!
                Schau einfach auf Seite 1 nach.
                Dann wirste es sehen

                Kommentar


                • #38
                  Ich rede von einem letzten Code, demjenigen am Anfang von Seite drei, von dem du behauptet hast, dass er nicht gehe.
                  Gruss
                  H2O

                  Kommentar


                  • #39
                    Das mit dem Select * ist gut zu wissen!
                    Danke für den Tipp.

                    Gruß

                    Kommentar

                    Lädt...
                    X