Mehrere Zeilen einer Database abrufen.

  • Hallo zusammen,


    ich habe vor einiger Zeit auch mit Hilfe dieses Forums eine Datenbank in meine Website eingebunden. Die Datenbank funktioniert korekt und problemlos, nur würde ich gerne,
    Mehrere Inhalte (je inhalt eine zeile in der Datenbank) nach Datum sortiert anzeigenlassen. Mein Problem ist, dass bisher nur eine Zeile abgerufen wird.


    Hier der bisherige Quelltext der Seite:


    Hier die function.php:

  • Bedeutet, Spalte »artikel« aus der Spalte »1» (»$content[0]«) wird weitergegeben.

    PHP: 50
    1. if(isset($content[0]["artikel"])){
    2. return $content[0]["artikel"];
    3. }


    Du kannst jetzt mit »foreach« alle Einträge hintereinanderschreiben und dann zurück geben.. aber Das system ist nicht so ausgelegt..
    Eher müsstest du das ganze Array »$content« zurückgeben und dann damit arbeiten


    Dann könntest du

    PHP: 95
    1. echo getPage();

    ändern zu:

    PHP: 95
    1. //Jeden Eintrag holen
    2. $array = getPage();
    3. foreach($array as $eintragsZeile){
    4. //Und Spalte »artikel« ausgeben
    5. echo $eintragsZeile['artikel']
    6. }



    Verstehst? :)

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von wolf ()

  • Ich verstehe, was du machen möchtest, und was dann passiert, habe aber ehrlich gesagt keinen Schimmer davon, wie ich das umsetzen kann. Danke schonmal für die schnelle Antwort.

  • Umsetzen kannst du das, in dem du 2 Zeilen und 14 Zeichen löscht :D


    Also in Zeile 51 Wird aus dem ERSTEN ( 0 ) Datensatz die Spalte »artikel« via »return« an das »echo« weitergegeben, was die Funktion ausführt (Zeile 95, index.php)


    Jetzt ersetzt du den Teil der nur EINE Datensatzspalte weitergibt durch einen der ALLE Datensätze weitergibt

    PHP: 49
    1. //Prüfen ob es einen ersten Eintrag im Array gibt
    2. if(isset($content[0]["artikel"])){
    3. //Den Eintrag weitergeben
    4. return $content[0]["artikel"];
    5. }

    Wird zu:

    PHP: 50
    1. return $content;


    Jetzt wird Statt nur ein Teil aus dem Datensatz, die ganze Tabelle weitergegeben.


    In der Index.php schreibst du jetzt mal (um es zu zeigen)

    PHP: 95
    1. $array = getPage($page);
    2. echo "<pre>";
    3. print_r($array);
    4. echo "</pre>";


    Wenn du das gesehen hast und verstanden.. ersetzt du dieses durch

    PHP: 95
    1. //GANZE Tabelle holen
    2. $array = getPage($page);
    3. //für Jeden Datensatz ( Tabellen Zeile)
    4. foreach($array as $tabellenZeile){
    5. //Spalte »artikel« ausgeben
    6. echo $tabellenZeile['artikel']
    7. }


    Verstanden? :)

  • Hallo Wolf, ich habe deine Anleitung befolgt und wenn ich das richtig verstehe, dann soll durch


    PHP
    1. $array = getPage($page);
    2. echo "<pre>";
    3. print_r($array);
    4. echo "</pre>";


    der Inhalt der Datenbank ausgegeben werden. Auf der Website wird aber kein Fehler :whistling: und auch kein Inhalt sondern


    Array
    (
    )


    ausgegeben. Da ich dachte das könnte auch gewollt sein (wüsste dann aber nicht wieso :?: ) habe ich auch noch den dritten Schritt probiert, dort wird ein "unexpected" Fehler (also scheinbar zu beheben :thumbup: ) ausgegeben, also sag mir bitte, ob das gewollt ist oder nicht.

  • Du musst den Teil:

    PHP
    1. $array = getPage($page);
    2. echo "<pre>";
    3. print_r($array);
    4. echo "</pre>";


    nach dem hier einfügen

    PHP
    1. $page = trim($_GET['page']);


    damit $page auch etwas enthält.