Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem beim Auslesen von Daten

Einklappen

Neue Werbung 2019

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

  • Problem beim Auslesen von Daten

    Hallo,
    ich bin dabei PHP und MySQL zu lernen, allerdings z.Zt. noch ein ziemlicher Anfänger.
    Ich möchte eine Art Linkliste erstellen. Das hinzufügen der Links über ein Formular in die Tabelle funktioniert auch ohne Probleme.
    Allerdings wird beim Auslesen ein Teil mehrfach angezeigt und ich weiß leider nicht woran das liegt. Meine Vermutung liegt in der while Schleife, allerdings kann ich da keinen Fehler entdecken.
    Hier ist der Quellcode:
    Code:
    <?php
      $db=mysql_connect("localhost","","")
       or die ("Zur Zeit keine Verbindung zum Datenbankserver möglich!");
      mysql_select_db("")
        or die ("Datenbank konnte nicht angesprochen werden");
      $anfrage="SELECT * FROM aktuelles";
      $ergebnis=mysql_query($anfrage)
        or die ("Fehler bei der Datenbankanfrage");
      $anz=mysql_num_rows($ergebnis);
      $spaltenanzahl=mysql_num_fields($ergebnis);
      $liste="";
      $content="
    ";
      while ($zeile=mysql_fetch_row($ergebnis)) {
         $liste=$content;
         $eintrag.=substr($zeile[2],0,2);
         $eintrag.=".";
         $eintrag.=substr($zeile[2],6,7);
         $eintrag.=".";
         $eintrag.=substr($zeile[2],4,5);
         $eintrag.="";
         $eintrag.="<a href='";
         $eintrag.=$zeile[1];
         $eintrag.="'>";
         $eintrag.=$zeile[0];
         $eintrag.="</a>";
         $eintrag.="
    
    ";
         $content=$eintrag;
         $content.=$liste; 
      }
      mysql_close($db);
      print($content);
    ?>
    Ich hoffe, dass mir jemand helfen kann.

    Danke im voraus
    gameco

  • #2
    2 Fragen:
    Warum sammelst du erst alle Daten in einem String ($content) und gibst diesen dann aus?
    Warum gibst du die Daten nicht sofort aus?

    Hier ist dein Fehler:
    PHP-Code:
    $eintrag.=substr($zeile[2],0,2); 
    Du hängst immer alles an $eintrag dran. So sollte es gehen:
    PHP-Code:
    $eintrag substr($zeile[2],0,2); 
    16.14. Warum soll ich nicht SELECT * schreiben?
    http://www.php-faq.de/q/q-sql-select.html

    Gruß
    phpfan

    Kommentar


    • #3
      Hallo phpfan,
      danke für Deine schnelle Antwort.
      Stimmt, ich habe den Punkt einfach übersehen.
      Vielen Dank auch für den Tipp mit dem "Select".
      Das habe ich ebenfalls geändert.
      Nun funktioniert alles bestens.

      Ich speichere alles in den String $content, damit ich die Ausgabe in der von mir gewünschten Reihenfolge erhalte (neuer Beitrag zuerst).
      Falls es eine einfachere/bessere Möglichkeit gibt, würde ich mich über einen Hinweis freuen, da ich ja wie gesagt noch am lernen bin.

      MfG
      gameco

      Kommentar

      Lädt...
      X