Zeilenumbruch Tabelle
bambid
- php
Hallo zusammen,
Ich habe folgendes Problem:
In einem Umgebauten Skript, versuche ich den Inhalt einer Tabelle von MySQL auszulesen, was wunderbar funktioniert. Jetzt wenn ich dort in diesem Bereich einen längeren Eintrag habe, mit Wortzwischenräumen klappt es dennoch nicht dass es automatisch Zeilenumbrüche gibt.
Was auch noch notwendig sein könnte ist dass wenn jemand einen Eintrag macht mit festen zeilenumbrüchen sollten diese auch angezeigt werden.
So
wie
hier.
Hier poste ich mal den Code mit welchem ich aus der DB auslese:
<? session_start();?>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Messageboard</title>
<link href="passiv.css" rel="stylesheet" type="text/css">
</head>
<body link="white" vlink="white" alink="red">
<?
include('../var.inc.php');
$name= htmlentities($_REQUEST['name']);
if (! session_is_registered('username'))
{
die ("Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?");
}
$dbtab = "nachricht";
echo "<img src='../Bilder/Titelbild.gif' alt='' height='43' width='350' border='0'>";
echo "<h1>Message Board</h1>";
//echo "<h2 align='right'><a href='/xampp/kl.php?action=getpdf' target='_blank'><span class='tabval'>PDF-Dokument</span></a></h2>";
echo "Hallo $name";
if(!mysql_connect($dbserver,$dbuser,$dbpass))
{
echo "<h2>Het nöd klappt</h2>";
die();
}
mysql_select_db($dbname);
?>
<h2>Messages</h2>
<table border=0 cellpadding=0 cellspacing=0>
<tr bgcolor=#0066ff>
<td><img src=blank.gif width=20 height=20></td>
<td class=tabhead><img src=blank.gif width=40 height=6><br><b>Nr.</b></td>
<td class=tabhead><img src=blank.gif width=80 height=6><br><b><a href="nachrichten.php?sort=name">Von</a></b></td>
<td class=tabhead width=350><img src=blank.gif width=350 height=6><br><b><a href="nachrichten.php?sort=nachricht">Nachricht</a></b></td>
<td class=tabhead><img src=blank.gif width=80 height=6><br><b>Aktion</b></td>
<td><img src=blank.gif width=0 height=25></td>
</tr>
<?
else if($_REQUEST['neu']=="neu")
{
if($neu=="")$nachricht="";
$name=htmlentities($_REQUEST['name']);
$nachricht=htmlentities($_REQUEST['nachricht']);
mysql_query("INSERT INTO $dbtab (name,nachricht) VALUES('$name','$nachricht');");
}
else if($_REQUEST['action']=="del")
{
mysql_query("DELETE FROM $dbtab WHERE id='".intval($_REQUEST['id'])."';");
}
$sort= htmlentities($_REQUEST['sort']);
$result=mysql_query("SELECT id,name,nachricht FROM $dbtab ORDER BY $sort;");
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
$i=1;
while( $row = mysql_fetch_array($result) )
{
if($i>=1)
{
echo "<tr valign=bottom>";
echo "<td bgcolor=#0066ff background='strichel.gif' colspan=10><img src=img/blank.gif width=1 height=1></td>";
echo "</tr>";
}
echo "<tr valign=center>";
echo "<td class=tabval><img src=blank.gif width=10 height=25></td>";
echo "<td class=tabval>".$i." </td>";
echo "<td class=tabval><b>".$row['name']."</b></td>";
echo "<td class=tabval>".$row['nachricht']." </td>";
echo "<td class=tabval><a onclick="return confirm('Sicher?');" href=nachrichten.php?action=del&id=".$row['id']."&sort=$sort&name=$name><span class=red>[löschen]</span></a></td>";// <a href=nachrichten.php?action=upd&id=".$row['id']."&sort=$sort#Anker><span class=green>[bearbeiten]</span></a></td>";
echo "<td class=tabval></td>";
echo "</tr>";
$i++;
}
echo "<tr valign=bottom>";
echo "<td bgcolor=#0099ff colspan=10><img src=blank.gif width=100% height=8></td>";
echo "</tr>";
?>
</table>
<br>
<h2>Neuer Eintrag</h2>
<form action=nachrichten.php method=get>
<table border=0 cellpadding=0 cellspacing=0>
<input type="hidden" name="sort" value="<? echo $sort ?>">
<input type="hidden" name="name" value="<? echo $name ?>">
<input type="hidden" name="neu" value="neu">
<tr>
<td valign="top">Nachricht:</td>
<td width="346"><textarea name="nachricht" rows="4" cols="40"></textarea></td>
</tr>
<tr>
<td></td>
<td width="346"><input type=submit border=0 value="Neu eintragen"></td>
</tr>
</table>
</form>
<br>
<input type="button" name="logout" value="logout" onClick="location.href='logout.php'">
<p></p>
<p></p>
</body>
</html>
Besten Dank schon mal im Vorraus.
MfG bambiD
Hello,
$name=htmlentities($_REQUEST['name']);
$nachricht=htmlentities($_REQUEST['nachricht']);
mysql_query("INSERT INTO $dbtab (name,nachricht) VALUES('$name','$nachricht');");
als Tipp für die Zukunft: die Datenbank sollte die Daten so beinhalten wie sie im Ausgangszustand waren, maskierungen sind erst für den entsprechenden Kontext vorzunehmen, d.h. htmlentities bei der Ausgabe nach HTML; für MySQL solltest du dementsprechend mysql_real_escape_string verwenden.
echo "<td class=tabval>".$row['nachricht']." </td>";
kann es sein, dass du etwas wie nl2br suchst?
MfG
Rouven
Also alles was hier so dargestellt ist ist aus XAMPP zu Teilen genommen. Ich habe es auf meine Bedürfnisse angepasst. und ich dachte da es funktioniert, es auch richtig ist.
nun zu dem nl2br:
also wenn ich das richtig verstehe, macht dies den Zeilenumbruch welchen ich im eingabefenster eingebe automatisch. das ist sicherlich eine gute sache, doch weiss ich nicht wie ich damit hantieren muss.
Was ich aber noch suche ist, wenn ich einen eintrag ohne zeilenumbrüche eingebe, dann geht es so weit, dass es nur eine Zeile gibt. obwohl die Spaltenbreite der Tabelle fest angegeben wurde.
ich habe auch das "wordwrap()" gefunden, doch weiss ich auch nicht wie ich das einfügen muss. Es kann auch nicht sein, dass es so funktioniert denn dies trennt auch wörter in sich so wie ich das verstehe.
oder bin ich da falsch?
Hier mal ein Gast zugang zu der Seite:
http://www.zoggeli-schnaegge.bambid.ch/index.php?page=intern
Benutzer: Gast
PW: Gast
besten Dank im Vorraus
Mfg bambiD
Ich habe es jetzt auf die Breite hinbekommen. habe die Tabelle so verkleinert, dass es rechts eine 50% spalte hat und voila es klappt.
Gut nun zu dem nl2br wo muss ich das definieren, und wie baue ich das ein?
MfG bambid
Hello,
Gut nun zu dem nl2br wo muss ich das definieren, und wie baue ich das ein?
das nl2br hat nur dann Wirkung, wenn jemand vorher in der Textarea einen Umbruch eingegeben hat. Deine Ausgabe müsste dann lediglich lauten:
echo "<td class=tabval>".nl2br($row['nachricht'])." </td>";
MfG
Rouven
Danke das hat super geklappt!
hmmm es ist doch immer so einfach wenn man es nur sieht!
;-)
MfG bambid