Spalte in die Mitte der Tabelle eingügen.

123123123

Erfahrenes Mitglied
Hallo ich bins noch mal! :D

Hallo!
Kann man mit PHP oder CSS eine Spalte dazwischen machen? Ich erstelle einen Sitzplan und die Reihennummer müssen genau in die Mitte kommen.
Also der erste Block hat die Sitze von 1-11 (das wäre die erste Reihe), danach muss die Spalte mir den Reihen kommen, so dann kommt der zweite Block von 12-22 Sitze.
Hier mein PHP/HTML -Code:

PHP:
<?php
include ("class_db.php");

$planID = 2;

$db = new DB("localhost", "", "", "plaene");

$daten = $db->getQueryData("SELECT * FROM sitzplan_{$planID}");
//p($plandaten);

?>

<html>
    <head>
        <title>Sitzplan <?php echo $planID?></title>
            <style>
                .buehne {
                    border: 2px solid black;
                    width:500px;
                    height:200px;
                    margin:10px auto;
                }
                h1{
                    text-align:center;
                    font-size:40px;
                    margin-top: 70px;
                }
                #feld {
                    border:2px solid;
                    width:1000px;
                    height:323px;
                }
                .plan1 {
                    float:left;
                    margin-right:10px;
                }
                .plan {
                    border-collapse: collapse;
                    float:left;
                    border-width: 5px;
                    text-align: center;
                }
                .sitz {
                    width:40px;
                    height:40px;
                    border-style:solid;
                }
                .row {
                    width:38px;
                    height:38px;
                    border:dotted;
                    background-color: #FFA54F;
                }
                .cat1 {
                background-color: red;
            }
            .cat2 {
                background-color: green;
            }
            </style>
    </head>
<body>
    <div class = "buehne">
        <h1>Bühne</h1>
    </div>
    <div id = "feld">
    <table class="plan1" id="plan1">
<?php
            $i=0;
            for($row=1; $row<=8; $row++)
            {
            echo "<td class='row'>{$row}</td>";
                echo "<tr>";
            }
            ?>
    <table class="plan" id="plan">
<?php
            $i=0;
                for($row=1; $row<=8; $row++)
            {
                echo "<tr>";
                    for($seat=1; $seat<=22; $seat++)
                    {
                        
                        $sitzdaten = $daten[$i];
                        
                        echo "<td class='sitz cat{$sitzdaten['kategorie']}'>{$sitzdaten['sitz']}</td>";
                        $i++;
                    }
                    echo "</tr>";
            }
        ?>
    </table>
    </div>
</body>
</html>

Das alles hab ich mit MySQL gebastelt, hier mein "erstell-code"
PHP:
<?php
include ("class_db.php");

$planID = 2;

$db = new DB("localhost", "", "", "plaene");
$db->query("TRUNCATE TABLE sitzplan_{$planID}");


for ($row=1; $row<=9; $row++)
{
    $x = (($row-1) * 22);
    setRow($x+1, $x+11, $row, "Links", 1);            setRow($x+12, $x+22, $row, "Rechts", 2);
}

function setRow($von, $bis, $reihe, $block, $kategorie)
{
    global $db, $planID;
    for($i=$von; $i<=$bis; $i++)
    {
        $db->query("INSERT INTO sitzplan_{$planID} SET
                    sitz = '{$i}',
                    reihe = '{$reihe}',
                    block = '{$block}',
                    kategorie = '{$kategorie}'");
    }
}

?>


Danke für die Hilfe :)
 
Zähl doch einfach die Spalten mit und immer wenn du bei 11 angekommen bist, fügst du diese Zeile ein:

PHP:
if ($spalte == 11) echo "<td>" .$reihennummer ."</td>";

Die Variablen $spalte und $reihennummer musst du natürlich mit deinen entsprechenden Variablen belegen.
 
Was ist an dem Code falsch? Die dritte Tabelle (.plan3) will sich einfach nicht nach rechts "floaten"! :(

PHP:
<html>
	<head>
		<title>Sitzplan <?php echo $planID?></title>
			<style>
			
			.spielfeld {
				border:2px double;
				width:1260px;
				height:200px;
				float:none;
				background-color:#D3D3D3;
			}
			h1 {
				text-align:center;
				font-size:40px;
				margin-top: 70px;
			}
			.reihe {
				border-collapse: collapse;
				border:2px solid;
				float:left;
				margin-right:2px;
				background-color:#4682B4;
			}
			.plan1 {
				border-collapse: collapse;
				border:2px solid;
				float:left;
				margin-right:2px;
				background-color: #3CB371;
				width:100px;
			}
			.plan2 {
				border-collapse: collapse;
				border:2px solid;
				background-color: #FF4500;
				width:100px;
				margin:0 400px;
			}
			.plan3 {
				border-collapse: collapse;
				float:right;
				border:2px solid;
				background-color: #9370DB;
				width:100px;
			}
			.row {
				border:2px solid black;
				width:10px;
				text-align:center;
			}
			.sitz {
				border:2px solid black;
				width:10px;
				text-align:center;
			}
			.block1 {
				border : 1px solid;
				width: 407px;
				height:20px;
				margin-left:18px;
				float:left;
				background-color:#3CB371;
			}
			.block2 {
				border: 1px solid;
				margin-left: 429px;
				width:407px;
				height:20px;
				background-color:#FF4500;	
			}
			.block3 {
				border:1px solid;
				width:407px;
				height:20px;
				margin-left:878px;
				background-color:#9370DB;
				float:right;
			}
			</style>
	</head>
<body>
	<div class ="spielfeld">
		<h1>Spielfeld</h1>
	</div>
	
	<table class="reihe" id="reihe">
		<?php
			$i=0;
			for($row=1; $row<=8; $row++)
			{
				echo "<td class='row'>{$row}</td>";
				echo "<tr>";
			}
		?>
	</table>
	
	<table class="plan1" id="plan1">
		<?php
			$i=0;
			for($row=1; $row<=8; $row++)
			{
				echo "<tr>";
					for($seat=1; $seat<=24; $seat++)
					{
						$sitzdaten = $plandaten[$i];
						echo "<td class='sitz cat{$sitzdaten['kategorie']}'>{$sitzdaten['sitz']}</td>";
						$i++;
					}
				echo "</tr>";
			}
		?>
	</table>
	
	<table class="plan2" id="plan2">
		<?php
			$i=0;
			for($row=1; $row<=8; $row++)
			{
				echo "<tr>";
					for($seat=1; $seat<=24; $seat++)
					{
						$sitzdaten = $plandaten[$i];
						echo "<td class='sitz cat{$sitzdaten['kategorie']}'>{$sitzdaten['sitz']}</td>";
						$i++;
					}
				echo "</tr>";
			}
		?>
	</table>
		
	<table class="plan3" id="plan3">
		<?php
			$i=0;
			for($row=1; $row<=8; $row++)
			{
				echo "<tr>";
					for($seat=1; $seat<=24; $seat++)
					{
						$sitzdaten = $plandaten[$i];
						echo "<td class='sitz cat{$sitzdaten['kategorie']}'>{$sitzdaten['sitz']}</td>";
						$i++;
					}
				echo "</tr>";
			}
		?>
	</table>

<div class = "block1">
	<center><b>Block links</b></center>
 </div>
		 
<div class = "block2">
	<center><b>Block Mitte</b></center>
</div>
		 
 <div class = "block3">
	<center><b>Block rechts</b></center>
</div>
		
</body>
</html>
 
Zuletzt bearbeitet:
Zurück