Daten werden dreifach ausgegeben

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

  • Daten werden dreifach ausgegeben

    Hallo Leute!

    Ich habe ein Problem bei der Abfrage meiner Datenbank.

    Folgender Code (ist ein bisschen zusammengewürfelt, ich weiss, würde aber eigentlich funktionieren)

    <?PHP

    $host = "localhost"; // Adresse des Datenbankservers, meistens localhost
    $user = "root"; // Ihr MySQL Benutzername
    $pass = ""; // Ihr MySQL Passwort
    $db = "slkk"; // Name der Datenbank

    ?>


    <?PHP

    $link = mysql_connect($host, $user, $pass) or die ("Keine Verbindung zu der Datenbank möglich.");
    mysql_select_db("slkk") or die(mysql_error());

    $result = mysql_query("SELECT newstitel FROM news GROUP BY newstitel DESC") or die(mysql_error());
    $titel = array();
    while($re=mysql_fetch_array($result)){
    $titel[] = $re['newstitel'];
    }

    $artikeltext = mysql_query("SELECT newstext FROM news GROUP BY newstext DESC") or die(mysql_error());
    $text = array();
    while($be=mysql_fetch_array($artikeltext)){
    $text[] = $be['newstext'];
    }

    ?>

    Anschliessend im HTML Code:

    <?php for($i=0;$i<count($titel);$i+=1){ echo '<td height="11" align="left" valign="top"><div class="arttitel" id="newstitel1">'.$titel[0].'</div></td>';} ?>

    <?php for($i=0;$i<count($text);$i+=1){ echo '<td height="44" align="left" valign="top"><div class="arttext" id="newstext1">' .$text[0]. '</div></td>';} ?>

    Die Daten werden ausgegeben, erscheinen jedoch 3x neben einander.

    Was mach ich falsch?

    Dank für eure Hilfe

    Gruss

  • #2
    befolge doch bitte erst die einfachen regeln.

    wozu gruppierst du eigentlich solche sachen wie nachrichten und überschriften?

    Kommentar


    • #3
      worked as designed!
      setzt mal ein print_r ($title) und lies im handbuch, was bei mysql_fetch_array zurückgegeben wird.
      PHP-Code:
      $i+=
      kann man auch so schreiben
      PHP-Code:
      $i++; 
      und da fehlt ja wohl noch was, oder?
      PHP-Code:
      $titel[0
      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Die Gruppierung wurde mir hier in diesem Forum geraten.

        Wo muss der print_r stehen?

        Mir wärde der Lösungsweg klarer, wenn ihr die richtige Abfrage in meinen Code einbinden könntet. So kann ich den Zusammenhang besser sehen.

        Vielen Dank und sorry, habe mich einige Jahre nicht mehr mit PHP befasst.

        Kommentar


        • #5
          Die Gruppierung wurde mir hier in diesem Forum geraten.
          das beantwortet nicht die frage. warum machst du das?

          Kommentar


          • #6
            Da ich den aktuellsten Eintrag stehts als ersten Eintrag anzeigen will. Was jedoch wohl überflüssig ist, da ich dies mit DESC erreiche oder?

            Kommentar


            • #7
              damit hat das eigentlich gar nichts zu tun. aber du solltest doch besser in der dokumentation nachschlagen, was du einsetzt. so n "format c:" hättest du dem forum doch wohl nicht abgenommen?

              also, wozu machst du das?

              Kommentar


              • #8
                wohl eher mit ORDER BY, und das bitte nach der id oder einem datum sortieren.

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  könnte ich die beiden Abfragen

                  $result und $artikeltext zusammenfassen bspw:

                  $result = mysql_query("SELECT newstitel, newstext FROM news DESC") or die(mysql_error());

                  und dann die beiden in einem Array ausgeben?

                  Kommentar


                  • #10
                    ausprobieren.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Ok, ich habe nun die Abfrage sortiert nach der id.

                      Alles wird immer noch ausgegeben aber eben immer noch 3-fach.

                      Liegt wohl an der while-Schleife oder?

                      Kommentar


                      • #12
                        bingo. mehr dazu (u.a.) auf kropffs seite und unter tut.php-q.net.

                        Kommentar


                        • #13
                          Meine Schwierigkeit liegt darin, dass nur immer ein Datensatz ausgeben wird.

                          Beim ersten DIV-Tag die Überschrift 1 und der Artikeltext 1, beim zweiten DIV-Tag die Überschrift 2 und der Artikeltext 2, etc.

                          Denn auf diese Art:

                          $result = mysql_query($sql) OR die(mysql_error()); echo "News in der Datenbank:<br />\n"; while($row = mysql_fetch_assoc($result)) { echo $row['Datum']." &gt; ".$row['Titel']."<br />\n"; }

                          bekomme ich ja die ganze Reihe und nicht explizit den Datensatz, welcher ich will.

                          Wie schaff ich das?

                          Kommentar


                          • #14
                            bekomme ich ja die ganze Reihe und nicht explizit den Datensatz, welcher ich will.
                            WHERE!

                            und bitte lesen. grundlagen aneignen!

                            peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Kommentar


                            • #15
                              und jetzt noch mal von vorne: problembeschreibung, konkrete fragestellung. was hast du vor? was machst du? was erwartest du davon? was klappt nicht?

                              Kommentar

                              Lädt...
                              X