GneX
Hi,
höchstwahrscheinlich ein kleines Problem, aber ich komme nicht auf die Lösung ... Ich weiß echt nicht, wo mir im Moment der Kopf steht ...
Also:
Ich lese die letzten 5 Chat-Texte aus der mySQL-Datenbank und sortiere sie mit
ORDER BY time DESC
Nun werden die neusten Texte oben dargestellt; wie kann ich die neusten Texte unten darstellen?
Madd Eye
Schreib doch einfach mal den Code hierrein sonst kann dir keiner helfen weil keiner genau weiß was du meinst
Edit:
Srry Bräkes Post hab ich überlesen
GneX
Zitat: |
Original von Bräke
ORDER BY time ASC
|
Hi,
dann würde er aber nicht die neusten fünf auslesen ...
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
|
<?php
require_once('../__#conf#__/config.inc.php');
$verbindung = @mysql_connect($GnexdbHost,$GnexdbUser,$GnexdbPassword);
if (!$verbindung) {
echo "Keine Verbindung möglich!";
exit;
}
$sql = "SELECT * FROM usr_gx0_2.mchat ORDER BY zeit DESC LIMIT 5";
$result = mysql_db_query($GnexdbName,$sql,$verbindung);
while ($row = mysql_fetch_array($result)) {
$message = htmlspecialchars($row['message']);
if($row['anwen']) {
if($row['anwen'] == $username || $row['name'] == $username) {
$backgroundNow = '; color: #fff';
}
} else {
$backgroundNow = '';
}
if($row['anwen']) {
if($row['anwen'] == $username || $row['name'] == $username) {
echo "<div style='font-size: 13px; font-family: Tahoma; color: #fff; font-weight: bold; float: left; margin-right: 5px$backgroundNow'>@<a href=" . '"' . "javascript:parent.mChatWhisperTo('$row[name]')" . '"' . ">$row[name]</a></div><div style='font-size: 13px; font-family: Tahoma; color: #fff; float: left$backgroundNow'> $message</div><div style='clear: both'></div>";
}
} else if(!$row['anwen']) {
echo "<div style='font-size: 13px; font-family: Tahoma; color: #fff; font-weight: bold; float: left; margin-right: 5px$backgroundNow'><a href=" . '"' . "javascript:parent.mChatWhisperTo('$row[name]')" . '"' . ">$row[name]</a></div><div style='font-size: 13px; font-family: Tahoma; color: #fff; float: left$backgroundNow'> $message</div><div style='clear: both'></div>";
}
}
?> |
|
Madd Eye
Schau mal hier:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
<?php
$pro_seite = 10;
if (!isset($anzahl)) $anzahl = 0;
$anzahl_test = $anzahl + $pro_seite;
$anzahl_minus = $anzahl - $pro_seite;
$anzahl_plus = $anzahl + $pro_seite;
$sql = 'Select * From news ORDER BY id desc limit '.$pro_seite.','.$anzahl;
$result = mysql_query($sql) or die('Fehler bei der Selctierung: '.mysql_error());
$n = mysql_num_rows($result);
?>
|
|
geht bei mir einwandfrei musst hat nur nach deinen Wüschen umformen
[kamui]
Ob du das mit SQL lösen kannst, weiß ich nicht - kenne mich da nicht aus
Aber mit PHP geht das auf jeden Fall.
Du liest erst die 5 neuesten Einträge in einen Array, mit dem Timestamp als Key und dem Rest als value. Dann wendest du die Funktion
ksort an - et voilà du hast den neusten Eintrag (dessen Timestamp am größten ist) an letzter Stelle