![]() |
tabellenbreite in php
wie kann ich tabellenbreiten unter php angeben
echo "<td width=\"20\">ID</td>"; so funzt es bei mir leider nicht. echo "<td width="20">ID</td>"; so funkts logischerweise auch nicht. wer kann mir da weiterhelfen? ich hasse html/php/js :D |
Am Einfachsten:
Schreibe width='20', also mit einfachen Anführungszeichen oder aber du lässt sie ganz weg: width=20. Ich schreibe sicherheitshalber immer width=20px. Es gäbe auch kompliziertere Möglichkeiten mit Ascii-Code und so weiter, aber so geht's auch. |
machst es am besten so, wie ben es geraten hat, mit '
echo "<td width='20px'>ID</td>"; wobei ich wirklich auch px angeben würde, der sicherheit wegen. |
Also, um ein einfache Beispiel zu geben:
<html> <head> <title>x</title> </head> <body> <h1>Table:</h1> <table border="1"> <tr> <?php echo "<td width=\"20\">X</td>"; echo "<td width=\"40\">Y</td>"; ?> </tr> </table> <hr> </body> </html> Du schreibst leider nicht, was nicht funktioniert und in welchem Browser bzw. welchen PHP-Fehler Du bekommst. Beim Mozilla 0.9.4 schaut mein Demo so aus, wie erwrtet, Ie 5.5 detto. |
PS: Laut XHTML Spezifikation muessen es doppelte Anfuehrungszeichen sein: http://www.w3.org/TR/2000/REC-xhtml1-20000126/#diffs
|
vielleicht hilft diese Adresse weiter http://www.phparchiv.de/discus/board-menu.html
|
thx fürs erste.
leider funzt es nicht. fehlermeldung bekomm ich gar keine, die breite ändert sich einfach nicht. wenn ich " verwende kommt natürlich ne fehlermeldung. so schauts derzeit aus: <?php $connection = mysql_connect("127.0.0.1","root","***") or die ("Konnte Verbindung zur Datenbank nicht herstellen!"); mysql_select_db("test") or die ("Die Datenbank konnte nicht ausgewählt werden!"); $anfrage = mysql_query("SELECT id, wsnummer, benutzername, kaufdatum FROM edv"); while ($ergebnis = mysql_fetch_array($anfrage)) { echo "<table border=1>"; echo "<tr>"; echo "<td width='20'>ID</td>"; echo "<td width='80'>Workstationnummer</td>"; echo "</tr>"; echo "<tr>"; echo "<td>$ergebnis[0]</td>"; echo "<td>$ergebnis[1]</td>";1 echo "</tr>"; echo "</table>"; }; ?> also kurze zusammenfassung: echo "<table border=1>"; => funzt wunderbar echo "<td width='20'>ID</td>"; => funzt ned echo "<td width=20>ID</td>"; => funzt ned echo "<td width=\"20\">ID</td>"; => funzt ned echo "<td width="20">ID</td>"; => funzt ned echo "<td width='20'>ID</td>"; => funzt ned die ausgabe selber funktioniert wunderbar, nur sind die einzelnen zeilen unterschiedlich breit, je nach datenmenge. das ist natürlich zu unübersichtlich :( |
Aeh - jetzt wird einige klarer !
Probiers mal mit echo "<table border=1>"; echo "<tr>"; echo "<td width='20'>ID</td>"; echo "<td width='80'>Workstationnummer</td>"; echo "</tr>"; while ($ergebnis = mysql_fetch_array($anfrage)) { echo "<tr>"; echo "<td> $ergebnis[0]</td>"; echo "<td> $ergebnis[1]</td>";1 echo "</tr>"; }; echo "</table>"; Wie lang sind denn die einzelnen Felder? Laenger als 20 bzw. 80? Schuat mir eher nahc einem Browser-Problem aus. |
Und was ist wenn man es ohne echo in jeder Zeile macht z.b.
PHP-Code:
|
hab jetzt beides versucht, leider funzt es nicht :heul:
@m3: die werte sind nur zum testen drin. max 40 zeichen pro zelle. @philipp: bei deinem tip bekomm ich leider nur nen error in zeile xx :( ich verwende opera 5.12, 5.10, ie 5.5 und 5.01 (schaut immer gleich aus) mich stört (siehe angehängtes bild) das zb unter "gerätetyp" es zu nem zeilenumbruch kommt. verwende ich keine leerzeichen, paßt es perfekt (nur schauts halt noch blöder aus) www.home.pages.at/gschladi/php.jpg |
Ahh - der Screenshot macht den Unterschied. Du hast noch mehr Spalten!
Welcome stranger to the wonderful yet scaring world of table formating! Wie Du unter <http://www.w3.org/TR/html401/struct/...tml#h-11.2.4.4> nachlesen kannst, darf ein User-Agent (Browser) die Spaltenbreite veräendern, wenn der Content nicht passt. Nachdem die Breite aller Zellen anscheinend breiter ist, als der im Browser darstellbare Bereich, schiebt der Browser die Zellen zusammen, um alles auf den Schirm zu bekommen. Möglicher Workaround: Addiere die Breiten aller Spalten und definiere die Tabelle mit der dieser Breite. Dann mußt Du aber im Browser horizontal scrollen, um alles zu sehen. HTH |
Zitat:
thx |
Zitat:
|
es funktioniert auch so...
<?php while (irgendwas) { ?> <table> <tr> <td width="20">X</td> <td width="80">Y</td> </tr> </table> <?php } ?> |
zeilenumbruch verhindern geht so:
zeilenumbruch verhindern geht so:
<table> <tr> <td nowrap>Inhalt der ned umbrechen soll</td> <td nowrap>Inhalt der ned umbrechen soll</td> <td nowrap>Inhalt der ned umbrechen soll</td> <td nowrap>Inhalt der ned umbrechen soll</td> <td nowrap>Inhalt der ned umbrechen soll</td> </tr> </table> nowrap is html 3.2, sollte also mit jedem browser gehen. alternativ kannst auch geschützte leerzeichen &-n-b-s-p-; (die - wegmachen, musste das so machen, damits des forum ned als leerzeichen versteht) verwenden, is aber ned so klass. alternativ kannst auch eine zeile mit einem blindgif (1x1pixel, transparent) einziehen, und mit width und height auf die gewünschte pixelzahl strecken, dann kann er kann nimma umbrechen. alternativ dazu würd ich aber grundsätzliches überlegen, weil ich das bild gesehen hab und die händ übern kopf zsammschlagen musste: tabelle eher in die höhe anstatt die breite zwängen (nicht alle mögen zur seite scrollen oder haben deine bildschirmauflösung) zeichensatz/schriftgröße ändern (sponsored by blindenverband) weniger is mehr -> auf den inhalt bezogen, hängt aber vom anwendungszweck ab. |
@chrisgott: "norwap" is "deprecated", also veraltet. Derartiges läßt sich mittlerweile via CSS erreichen. Siehe <http://www.w3.org/TR/html401/struct/....html#h-11.2.6>
Und die Verwendung des non-breaking-spaces bläht das HTML-File natürlich unnötig auf. Und die "Schmäh" mit blindgif, etc. sind seit die Browser mit den Width und Height Attributen korrekt umgehen eigentlich nicht mehr nötig (außer Du willst V3 Browser unterstützen). Aber ich stimme Dir absolut zu, dass sich spunz eigentlich eine andere Darstellung der Daten überlegen sollte. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag