Seite 1 von 1

Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 16:11
von Walter91
Ich arbeite an einer Extension mit der ich Termine in einer Liste im Index des Forum anzeigen kann.
Das klappt alles.Irgendwann würde das aber eine lange Liste in der auch alle alten Einträge stehen.Das ist aber nicht gewollt. Ich möchte aber nur die neuesten maximal 5 Einträge anzeigen.Kann mir jemand helfen wie ich meinen Code anpassen kann?

So habe ich das jetzt in meiner main_listener.php

Code: Alles auswählen

// Ausgabeliste im Index	
	$sql = 'SELECT c.id, c.title, c.day, c.year, c.location,
	u.user_id, u.username, u.user_colour
	FROM ' . $this->football_events_table . ' c		
	JOIN ' . USERS_TABLE . ' u
	ON u.user_id = c.user_id
	ORDER BY  year, day,  DESC'; // Sortieren
	$result = $this->db->sql_query($sql); (Orginal)

	while ($row = $this->db->sql_fetchrow($result))
	{
		$this->template->assign_block_vars('liste', [
		    'ID'         => $row['id'],
		    'TITLE'      => $row['title'],
            'DAY'        => $row['day'],
			'year'       => $row['year'],
		    'LOCATION'   => $row['location'],
            'POST_USER'  => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),					
	    ]);
	}	
		$this->db->sql_freeresult($result);           

Re: Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 16:22
von IMC
Ersetze mal

Code: Alles auswählen

$result = $this->db->sql_query($sql); (Orginal)
durch

Code: Alles auswählen

$result = $this->db->sql_query_limit($sql, 5);
und gib eine kurze Rückmeldung ob es Erfolg hatte.

Re: Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 16:57
von Walter91
Danke für die schnelle Antwort.Habe den Code geändert.Keine Veränderung.
Ich habe für Test 5 Einträge und zum Testen auf 3 gestellt

Code: Alles auswählen

$result = $this->db->sql_query_limit($sql, 3);

Re: Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 17:29
von IMC
Jetzt bin ich irritiert. Ich hätte mit allem gerechnet, aber nicht dass sich nichts ändert. Der Offset muss eigentlich nicht angegeben werden wenn er Null ist. Kannst es aber mal mit probieren.

Code: Alles auswählen

$result = $this->db->sql_query_limit($sql, 3, 0);
Meine typischen Fehler für keine Änderungen in der Ausgabe, trotz Änderungen im Code sind: Geänderten Code nicht hochgeladen; Geänderten Code ins falsche Forum geladen; Cache nicht gelöscht.

Re: Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 17:54
von Walter91
Es bringt leider keine Änderung.Habe das mit XAMPP auf meinem PC laufen.
Datei ist richtig hoch geladen.Cache komplett gelöscht.
Kann es an meiner HTML-Datei liegen???

Code: Alles auswählen

<div class="forabg">
	    <div class="inner">
            <table class="table1" cellspacing="1" padding="1">
			    <thead>
				    <tr>
				    <tr class="table1">
					<th class="table1" style="text-align:left;">{{ lang('LISTE_FOOTBALL') }}</th>
					<th class="table1" style="text-align:left;">{{ lang('LISTE_TITLE') }}</th>
					<th class="table1" style="text-align:left;">{{ lang('LISTE_DAY') }}</th>
					<th class="table1" style="text-align:left;">{{ lang('LISTE_YEAR') }}</th>
					<th class="table1" style="text-align:left;">{{ lang('LISTE_LOCATION') }}</th>
					<th class="table1" style="text-align:right;">{{ lang('LISTE_AUTHOR') }}</th>
				    </tr>
			    </thead>	
				
                <tbody>
                    {% if loops.liste|length %}				
					{% for liste in loops.liste %}
					<tr class="{% if liste.S_ROW_COUNT is even %}bg1{% else %}bg2{% endif %}">
					<td style="text-align:left;">{{ liste.TITLE }}</td>
					<td style="text-align:left;">{{ liste.DAY }}</td>
					<td style="text-align:left;">{{ liste.YEAR }}</td>
					<td style="text-align:left;">{{ liste.LOCATION }}</td>
					<td style="text-align:left;">{{ liste.POST_USER }}</td>
				    </tr>
					{% endfor %}			
					{% else %}
				    <tr class="bg1">
					<td colspan="7">{{ lang('NO_EVENTS') }}</td>
				    </tr>
				    {% endif %}
                </tbody>
		    </table>                
        </div>  
    </div>

Re: Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 18:17
von Walter91
Fehler gefunden !
Ich habe jetzt auch noch den Browser-Cache gelöscht.Und jetzt geht das.Vielen Dank für deine Hilfe IMC :grin:

Re: Neueste 5 Einträge anzeigen

Verfasst: 12.02.2023 18:31
von IMC
Freut mich das ich helfen konnte.
„Strg+F5“ ist meine meist genutzte Tastenkombination beim Code testen. :wink: