Fettkopp
2009-12-01, 16:54:48
Mahlzeit,
ich bastel grad n kleines Nachrichtensysten. Soll nichts aufwendiges sein. Eigentlich ne Art Gästebuch.
Das Problem an der Webseite ist, dass nur Platz für 18 Zeilen vorhanden ist.
Nu wollte ich also, dass automatisch erkannt wird, wann die 18 Zeilen verbraucht sind... und je nachdem die Anzahl an Beiträge angezeigt werden.
Mit folgender Funktion, versuche ich zu erkennen, dass die 18 Zeilen bereits verbraucht sind
....
if ($query = mysql_query("SELECT * FROM Intern_Kommentare ORDER BY datum DESC LIMIT $start, $entrys")) {
while ($eintrag = mysql_fetch_array($query)) {
$datum[] = $eintrag["datum"];
$name[] = $eintrag["name"];
$inhalt[] = $eintrag["eintrag"];
}
} else die(mysql_error());
for ($i = 0; $i < count($name); $i++) {
$lines = explode("<br", stripslashes(nl2br($inhalt[$i])));
$number_lines = ($number_lines + count($lines) + 2);
if($number_lines < 18)
{
echo "<table>";
echo "<tr>";
echo "<td>";
echo "<h4>";
echo stripslashes($name[$i])." am ".date("d.m.Y - H:i",$datum[$i])." ";
echo "</h4>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo stripslashes(nl2br($inhalt[$i].""));
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<hr>";
$lastentry = $i;
}
}
danach lasse ich noch automatisch {Seite vor} und {zurück} erstellen, falls nötig, ist hier aber eigentlich irrelevant..
Mein Problem habe ich eher Dick markiert. Der Nutzer gibt seine Nachricht in einem Formular ein. Wenn dieser innerhalb des Formulars "Return" drück, wird auch eine neue Zeile erstellt (nl), und korrekt in ein <br /> umgewandelt. Wenn der Nutzer aber seinen gesamten Beitrag einfach so eingibt... dann wird der Beitrag auf der Seite zwar automatisch passend angezeigt, aber am Ende jeder Zeile ist kein <br />... dementsprechend erkennt mein Script nicht, wann wirklich nach 18 Zeilen Schluss ist...
Gibt es eine andere Möglichkeit, die erkennt, dass ich maximal 18 Zeilen verbrauchen kann? :confused:
ich bastel grad n kleines Nachrichtensysten. Soll nichts aufwendiges sein. Eigentlich ne Art Gästebuch.
Das Problem an der Webseite ist, dass nur Platz für 18 Zeilen vorhanden ist.
Nu wollte ich also, dass automatisch erkannt wird, wann die 18 Zeilen verbraucht sind... und je nachdem die Anzahl an Beiträge angezeigt werden.
Mit folgender Funktion, versuche ich zu erkennen, dass die 18 Zeilen bereits verbraucht sind
....
if ($query = mysql_query("SELECT * FROM Intern_Kommentare ORDER BY datum DESC LIMIT $start, $entrys")) {
while ($eintrag = mysql_fetch_array($query)) {
$datum[] = $eintrag["datum"];
$name[] = $eintrag["name"];
$inhalt[] = $eintrag["eintrag"];
}
} else die(mysql_error());
for ($i = 0; $i < count($name); $i++) {
$lines = explode("<br", stripslashes(nl2br($inhalt[$i])));
$number_lines = ($number_lines + count($lines) + 2);
if($number_lines < 18)
{
echo "<table>";
echo "<tr>";
echo "<td>";
echo "<h4>";
echo stripslashes($name[$i])." am ".date("d.m.Y - H:i",$datum[$i])." ";
echo "</h4>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo stripslashes(nl2br($inhalt[$i].""));
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<hr>";
$lastentry = $i;
}
}
danach lasse ich noch automatisch {Seite vor} und {zurück} erstellen, falls nötig, ist hier aber eigentlich irrelevant..
Mein Problem habe ich eher Dick markiert. Der Nutzer gibt seine Nachricht in einem Formular ein. Wenn dieser innerhalb des Formulars "Return" drück, wird auch eine neue Zeile erstellt (nl), und korrekt in ein <br /> umgewandelt. Wenn der Nutzer aber seinen gesamten Beitrag einfach so eingibt... dann wird der Beitrag auf der Seite zwar automatisch passend angezeigt, aber am Ende jeder Zeile ist kein <br />... dementsprechend erkennt mein Script nicht, wann wirklich nach 18 Zeilen Schluss ist...
Gibt es eine andere Möglichkeit, die erkennt, dass ich maximal 18 Zeilen verbrauchen kann? :confused: