[Frage] Mehrere Ausgaben (Zeilen) bei direkter Datenbankabfrage TYPO3-Version: -

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    15. 07. 2015, 14:35

    Hallo,
    ich gebe aus einer Datenbanktabelle per PHP-Skript die Inhalte aus. Leider gibt es trotz einer Vielzahl an Einträgen keine Liste, weil immer nuir ein Eintrag gezeigt wird. Irgendwie klappt die Schleife nicht:

    1. <?php
    2. class user_klasse {
    3.  
    4. function ausgabe($content,$conf) {
    5. global $TSFE;
    6. $TSFE->set_no_cache();
    7. // parameter setzen
    8. $DB = $GLOBALS['TYPO3_DB'];
    9. $select_fields = "*";
    10. $from_table = 'tx_lehrer_lehrer';
    11. $where_clause = 'deleted = 0 AND hidden = 0 >""';
    12. $groupBy='';
    13. $orderBy = '';
    14. $limit= '';
    15.  
    16. // abfrage ausführen
    17. $dbal = $DB->exec_SELECTquery($select_fields, $from_table, $where_clause, $groupBy, $orderBy, $limit);
    18.  
    19. // Zeilen bilden
    20. while($row = $DB->sql_fetch_assoc($dbal)) {
    21. // datensätze ausgeben
    22. $content = "<div id='lehrer_main'>
    23. <div id='lehrer_bild'><img src='../uploads/tx_lehrer/".$row['bild']."' width='143' height='210'><br /><br />".$row['name']."</div>
    24. </div>";
    25. }
    26. $output = "$content";
    27. return $output;
    28. }
    29. }
    30. ?>

    Was muss da noch geändert werden?


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    15. 07. 2015, 15:34

    $content = "xy"

    überschreibt dir immer wieder das $content.

    $content .= "xy" :p

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    15. 07. 2015, 17:42

    Danke!

    Ich hab´ da noch eine Frage....
    Es wird jetzt eine Liste als Übersicht ausgegeben. Wenn ich nun auf einen einzelnen Eintrag klicke, soll eine neue Seite aufmachen, und dort der entsprechende Eintrag mit mehr Informationen erscheinen. Ich habe eine Variable angehängt (uid), mit der soll dann der Eintrag wiederum aufgerufen werden.
    Aber leider gibt es auf der neuen Seite kein Ergebnis. Wie müsste ich denn die Variable auf der neuen Seite einfügen?

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    16. 07. 2015, 09:11

    Ich würde mal sagen per GET-Parameter anhängen, damit der Eintrag auch direkt aufrufbar ist und dann entsprechend in deiner Abfrage berücksichtigen. Oder habe ich dich falsch verstanden?

    God's in his heaven, all's right with the world

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    16. 07. 2015, 14:15

    Ne, schon richtig verstanden, nur bewirkt das leider nichts.
    Ich habe den Parameter ja angehöngt (index.php?id=78&uid=$uid). Das wird auch angehängt. Nur beim Aufruf der neuen Funktion (ähnlich der hier schon beschriebenen) wird die Variable nicht berücksichtigt, soll heißen, die kommt in dem Script gar nicht an. Ich verweise ja auf die Seite (id=78), die Variable müsste meiner Meinung nach hier schin irgendwie Verwendung finden, weil ja das Script (das von weiter oben) in einem Ordner liegt und nicht direkt auf dieser Seite aufgerufen wird.
    Es müsste also die Variable (uid) auf die Seite (id=78) gebracht werden, und von dort automatisch im Script weiterverwendet werden. Hier mal das TS der betrffenden Seite:

    1. includeLibs.user_klasse = fileadmin/templates/lehrer_detail.php
    2. seite = PAGE
    3. seite{
    4. headerData.20.insertData = 1
    5. headerData.20 = TEXT
    6. typeNum = 0
    7. 20.template = FILE
    8. 20.template.file = fileadmin/lehrer.htm
    9. 20.workOnSubpart = DOKUMENT
    10. 20.marks{
    11. LEHRER = USER
    12. LEHRER.userFunc = user_klasse->ausgabe
    13. }
    14. }

    Die weiter oben beschriebene Function steht in der Datei (1. Zeile dieses Scripts).

  • 1