[ERLEDIGT] Pagination

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Stupid
Mitglied
Beiträge: 35
Registriert: 17.10.2006 13:23

[ERLEDIGT] Pagination

Beitrag von Stupid »

Hallo zusammen =)

Ich möchte gerne die Pagination umkehren, so dass die neusten Einträge auf der ersten Seite stehenund die ältesten auf der letzten. Wie mache ich das bzw was muss ich am folgenden Code ändern?

Code: Alles auswählen

// Beginn Startvariable auslesen und Pagination aufbauen  inkl. Tabellenanpassung (20 Zeilen)
        $zeilen = 10;
        $j = $_GET['start'];
        $pagination = generate_pagination("spendenliste.php?", count($don_row), $zeilen, $j, 1);
        for ($i=$j; $i<count($don_row); $i++) {
        $row = ($i%2) ? "row1" : "row2";
        echo "<tr>\n";
        echo "    <td class='" . $row . "'>" . $don_row[$i]['datum'] . "</td>\n";
        echo "    <td class='" . $row . "'>" . $don_row[$i]['name'] . "</td>\n";
        echo "    <td class='" . $row . "'>" . $don_row[$i]['betrag'] . "</td>\n";
        echo "</tr>";
        if ($i == ($j + $zeilen)) break;
        }
        // Ende Startvariable auslesen und Pagination aufbauen  inkl. Tabelleanpassung
   ?>
   <tr>
      <!-- Beginn Pagination ausgeben -->
      <td class="catBottom" colspan="3" align="right"><span class='nav'><?php print $pagination; ?></span></td>
      <!-- Ende Pagination ausgeben -->
Danke Euch schon mal im Voraus =)

lieben Gruss
Stupid
Zuletzt geändert von Stupid am 15.01.2007 00:47, insgesamt 1-mal geändert.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: Pagination

Beitrag von nickvergessen »

Stupid hat geschrieben:so dass die neusten Einträge auf der ersten Seite stehenund die ältesten auf der letzten. Wie mache ich das bzw was muss ich am folgenden Code ändern?
dann mach einfach nach der Abfrage aus der MySQL ein

Code: Alles auswählen

SELECT
    blab
FROM
    blub
ORDER BY
    datum DESC;
blab udn blub mit deinen Werten stehen lassen.
kein Support per PN
Stupid
Mitglied
Beiträge: 35
Registriert: 17.10.2006 13:23

Beitrag von Stupid »

das ist die SQL-Abfrage.....

Code: Alles auswählen

$sql = "SELECT * FROM " . $table_prefix . "spendenliste"; 
if ( !($result = $db->sql_query($sql)) ) {
    message_die(GENERAL_ERROR, 'Konnte die Userdaten nicht auslesen', '', __LINE__, __FILE__, $sql);
}
$don_row = array();
$i = 0;
while ( $row = $db->sql_fetchrow($result) ) {
    $don_row[$i]['datum'] = $row['datum'];
    $don_row[$i]['name'] = $row['name'];
    $don_row[$i]['betrag'] = $row['betrag'];
    $i++;
}
$db->sql_freeresult($result); 

aber wenn ich ORDER BY... dahinter schreib, bekomm ich ständig nen Parse Error unexpected T_STRING

Code: Alles auswählen

$sql = "SELECT * FROM " . $table_prefix . "spendenliste" ORDER BY datum DESC; 

Code: Alles auswählen

$sql = "SELECT * FROM . $table_prefix . \"spendenliste\" ORDER BY datum DESC"; 
und hier bekomm ich

Code: Alles auswählen

Konnte die Userdaten nicht auslesen

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. "spendenliste" ORDER BY datum DESC' at line 1

SELECT * FROM . phpbb_ . "spendenliste" ORDER BY datum DESC

Line : 23
File : spendenliste.php
Was mache ich falsch? *verzweifelt guck
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Stupid hat geschrieben:das ist die SQL-Abfrage.....

Code: Alles auswählen

$sql = "SELECT * FROM " . $table_prefix . "spendenliste"; 
if ( !($result = $db->sql_query($sql)) ) {
    message_die(GENERAL_ERROR, 'Konnte die Userdaten nicht auslesen', '', __LINE__, __FILE__, $sql);
}
$don_row = array();
$i = 0;
while ( $row = $db->sql_fetchrow($result) ) {
    $don_row[$i]['datum'] = $row['datum'];
    $don_row[$i]['name'] = $row['name'];
    $don_row[$i]['betrag'] = $row['betrag'];
    $i++;
}
$db->sql_freeresult($result); 

aber wenn ich ORDER BY... dahinter schreib, bekomm ich ständig nen Parse Error unexpected T_STRING

Code: Alles auswählen

$sql = "SELECT * FROM " . $table_prefix . "spendenliste" ORDER BY datum DESC; 
Das ist auch gut so, denn das ORDER BY datum DESC muss auch mit in die Anführungszeichen hinein...

Code: Alles auswählen

$sql = "SELECT * FROM . $table_prefix . "spendenliste" ORDER BY datum DESC"; 
und hier bekomm ich

Code: Alles auswählen

Konnte die Userdaten nicht auslesen

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. "spendenliste" ORDER BY datum DESC' at line 1

SELECT * FROM . phpbb_ . "spendenliste" ORDER BY datum DESC

Line : 23
File : spendenliste.php
das liegt daran, dass du jetzt überflüssige Anführungszeichen in deinem String drin hast. Richtig wäre so:

Code: Alles auswählen

$sql = "SELECT * FROM " . $table_prefix . "spendenliste ORDER BY datum DESC"; 
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Stupid
Mitglied
Beiträge: 35
Registriert: 17.10.2006 13:23

Beitrag von Stupid »

und ich dachte, das Wort spendenliste muss separat in Anführungszeichen bleiben, da es der Name der Tabelle in der Db ist....danke dir ganz lieb :grin:
Antworten

Zurück zu „Coding & Technik“