[Problem] PHP/CSS/HTML

  • Hallo!
    Zunächst einmal sei einmal gesagt, dass ich kein HTML/PHP/CSS Profi, sondern ein Anfänger bin!


    Und zwar folgendes: Ich lasse Einträge aus einer Datenbank mit einer While schleife auslesen. Funktioniert alles so weit.
    Ich habe ein Usermenu und die Tabelle in Div-Container gepackt.


    So nun zum Problem: Je mehr einträge in die Tabelle kommen, desto größer wird der Abstand zwischen den besagten Div-Containern.
    Ich poste einfach mal den Code:


    PHP
    <head>	<title>Akten: Startseite</title>	<style type="text/css">	html, body {height: 100%;}	body {		background-image: url("gallery56.jpg");	}	#umenu{		border-radius: 5px;		background-color: #efa618;		font-family:Verdana;		text-align: center;		width: 750px;		height: 30px;		clear: left;		margin: 0 auto;		vertical-align: middle;		border-color: black;		border-width: 2px;		border-style: solid;	}	#menu{		border-radius: 5px;		background-color: #efa618;		font-family:Verdana;		text-align: center;		width: 750px;		height: 20px;		clear: left;		position: relative;		margin: 0 auto;		vertical-align: middle;		margin-top: 40px;		border-color: black;		border-width: 2px;		border-style: solid;		line-height: 10px;	}	#menu, a{		padding-top: 10px;	}	#umenu, div{		margin-top: 5px;		vertical-align: middle;		padding-left: 5px;		padding-right: 5px;	}	a:link {		text-decoration: none;		color: #000000;	}	a:visited {		text-decoration: none;		color: #000000;	}	a:hover {		text-decoration: none;		color: #EEEEEE;	}	a:active {		text-decoration: none;		color: #000000;	}	table {		border-radius: 5px;		background-color: #efa618;		font-family:Verdana;		text-align: center;		width: 765px;		clear: left;		margin: 0 auto;		vertical-align: middle;		border-color: #000000;		border-width: 5px;		border-color: black;		border-width: 2px;		border-style: solid;	}	</style>	</head>	<header>	<div id='umenu'>	<?php if($_SESSION["aLevel"] >= 2) { ?>	<div style="padding-right: 5px; align: right;">Angemeldet als: <?php echo $_SESSION["username"]?> <a href='/logout.php' align='right'>Abmelden</a> <a href='/intern/admin.php'>Administration</a></div>	<?php } else { ?>	<div style="padding-right: 5px;">Angemeldet als: <?php echo $_SESSION["username"]?> <a href='/logout.php' align='right'>Abmelden</a></div>	<?php } ?>	</div>	</header>	<body>	<table border="0">	<colgroup width="200" span="4"></colgroup>	<tr><td>Akte</td><td>Person</td><td>Status</td><td>Fraktion</td></tr>	<?php       while( $row = mysql_fetch_array($result, MYSQL_BOTH))          {				if($row["archiv"] == 1) continue;				if($row["status"]==0){$Status = "Offen";} else if($row["status"]){$Status = "Geschlossen";}				if($row["frak"]==0){$Frak = "F.B.I.";} else if($row["frak"]){$Frak = "LSPD";}               ?><tr><td><a href="<?php echo "/intern/index.php?Akte=" . $row["id"] . ""?>">Akte #<?php  echo $row["id"] ?></a></td><td><?php echo $row["suspect"]?></td><td><?php echo $Status?></td><td><?php echo $Frak?></td></tr><br /> <?php          }		?>	</table>	<div id='menu'>	<a href='/intern/create.php'>Akte anlegen</a>	</div>	</body>	</html>


    Ich hoffe mir ist zu helfen! MfG

  • Zeig doch mal den Code der dadurch am ende erzeugt wird, also den der Tabelle. Da sollte man ja direkt sehen wo da was falsch generiert wurde.


    PHP
    <html>	<head>	<title>Akten: Startseite</title>	<style type="text/css">	html, body {height: 100%;}	body {		background-image: url("gallery56.jpg");	}	#umenu{		border-radius: 5px;		background-color: #efa618;		font-family:Verdana;		text-align: center;		width: 750px;		height: 30px;		clear: left;		margin: 0 auto;		vertical-align: middle;		border-color: black;		border-width: 2px;		border-style: solid;	}	#menu{		border-radius: 5px;		background-color: #efa618;		font-family:Verdana;		text-align: center;		width: 750px;		height: 20px;		clear: left;		position: relative;		margin: 0 auto;		vertical-align: middle;		margin-top: 40px;		border-color: black;		border-width: 2px;		border-style: solid;		line-height: 10px;	}	#menu, a{		padding-top: 10px;	}	#umenu, div{		margin-top: 5px;		vertical-align: middle;		padding-left: 5px;		padding-right: 5px;	}	a:link {		text-decoration: none;		color: #000000;	}	a:visited {		text-decoration: none;		color: #000000;	}	a:hover {		text-decoration: none;		color: #EEEEEE;	}	a:active {		text-decoration: none;		color: #000000;	}	table {		border-radius: 5px;		background-color: #efa618;		font-family:Verdana;		text-align: center;		width: 765px;		clear: left;		margin: 0 auto;		vertical-align: middle;		border-color: #000000;		border-width: 5px;		border-color: black;		border-width: 2px;		border-style: solid;	}	</style>	</head>	<header>	<div id='umenu'>		<div style="padding-right: 5px; align: right;">Angemeldet als: plattkop <a href='/logout.php' align='right'>Abmelden</a> <a href='/intern/admin.php'>Administration</a></div>		</div>	</header>	<body>	<table border="0">	<colgroup width="200" span="4"></colgroup>	<tr><td>Akte</td><td>Person</td><td>Status</td><td>Fraktion</td></tr>	<tr><td><a href="/intern/index.php?Akte=26">Akte #26</a></td><td>User</td><td>Offen</td><td>F.B.I.</td></tr><br /> <tr><td><a href="/intern/index.php?Akte=33">Akte #33</a></td><td>User</td><td>Offen</td><td>F.B.I.</td></tr><br /> <tr><td><a href="/intern/index.php?Akte=35">Akte #35</a></td><td>User</td><td>Offen</td><td>F.B.I.</td></tr><br /> <tr><td><a href="/intern/index.php?Akte=37">Akte #37</a></td><td>User</td><td>Offen</td><td>LSPD</td></tr><br /> 	</table>	<div id='menu'>	<a href='/intern/create.php'>Akte anlegen</a>	</div>	</html>


    Also das ist der Seitenquelltext wenn ich das anzeigen lasse


    //EDIT: Falscher Text

  • Ok, der Fehler liegt an den <br> Tags zwischen den Zeilen der Tabelle. Die Gehören da nicht hin (weil man keine Zeilenumbrüche zwischen Tabellen Zeilen machen kann), deshalb legt der Browser diese automatisch außerhalb der Tabelle, und dort sorgen sie für den Abstand zwischen den Besagten Elementen.


    PS: Der <header> Tag gehört auch mit in den Body. Und auch wenns theoretisch nicht nötig ist, solltest du den <body> Tag am ende schliessen.

  • Ok, der Fehler liegt an den <br> Tags zwischen den Zeilen der Tabelle. Die Gehören da nicht hin (weil man keine Zeilenumbrüche zwischen Tabellen Zeilen machen kann), deshalb legt der Browser diese automatisch außerhalb der Tabelle, und dort sorgen sie für den Abstand zwischen den Besagten Elementen.


    PS: Der <header> Tag gehört auch mit in den Body. Und auch wenns theoretisch nicht nötig ist, solltest du den <body> Tag am ende schliessen.


    Danke sehr! Funktioniert jetzt!