|
Sitzplan für Lanparty
|
|
|
ich brauch mal ein paar denkhilfen 
Ich habe eine SQL Tabelle mit dem Namen "seating"
in diesem sind die Spalten "block_id" , "party_id" , "blockname" , "rows" , "cols"
block_id - auto increment
party_id - sitzplan einer Lan zuweisen
blockname - Name des Sitzplans
rows - Reihen des Sitzplans
cols - Spalten des Sitzplans
Dazu noch die Tabelle "seating_seat"
in dieser sind die Spalten "seat_id" , "block_id" , "col" , "row" , "status" , "ip" , "user_id"
block_id -- zu welcher lanparty der Block gehört
col - vertikale position
row - horizontale position
status - status des feldes (je nach status ein bild anzeigen (wände, buchstaben, sitzplätze etc.)
ip - ggf. zugewiesene IP Adresse
user_id - id des Users auf dem Sitzplatz
Nun aber zu meinem Problem
Ich hab überhaupt keine Ahnung wie ich weiter vorgehen soll.. die Spalte "status" soll zahlen enthalten welche Bildern zugewiesen werden.
z.b. Status 1 = leeres feld, 21 = Buchstabe A, 42 = Belegbarer Sitzplatz , 76 = Wand u.s.w.
aussehen soll das am ende etwa so.. als beispiel kann ich da den Sitzplan von Lansuite nennen...
 |
|
|
|
14.02.2012 08:09:25 Uhr
|
#2
|
|
|
Naja ich würde jedem Tisch in dem Raum eine feste Nummer geben, so wie die Sitzplätze im Kino. Du kannst es ja in Blöcke unterteilen, sowas wie A1, A2, A3 .... B1, B2, B3 usw.
Jeder Sitz hat einen Status. Bsp. A1 = 0 bedeutet, der Platz ist noch frei. A2 = 1 bedeutet, er ist vorreserviert bishin zur fertigen Vergabe oder Sondersitzplätze etc.
Du lädst dann einfach mit einem SQL alle Werte in ein Array voller Objekte, durchläufst mit einer Schleife alle Sitze und zeigst den jeweiligen Status als Farbe an.
Wenn Du das ganze auf eine dynamische Grafik bringen willst, würde ich vorher die Grafik mit Wänden usw erstellen und jedem Sitz dann seine Position noch mit in die Klasse geben. Sprich der Sitz A2 ist an Position 212x164px. Das ist am Anfang sicherlich Friemelsarbeit, aber dafür kannst Du mit nur einer SQL Abfrage später die Grafik zur Echtzeit dynamisch erzeugen lassen, ggf. sogar auch nur einmal stündlich automatisch erneuern lassen etc. |
|
|
|
|
|
so langsam komme ich vorran - seltsamerweise aber dann doch nicht.
EDIT: Fehler behoben - Lösung siehe unten... |
|
|
|
|
|
na klasse... habs hinbekommen.., toller denkfehler 
Hatte einfach nur vergessen, beim ersten durchlauf der while-Schleife den Wert für die Spalten wieder auf 1 zu setzen.
Hier nochmal der richtige Code... wer ihn braucht.... (die fehlerhaften oben hab ich rausgenommen..)
Um nun jeden Sitzplatz ansprechen zu können, übergebe ich per ID die aktuelle Spalte und Reihe des Platzes.
Schau bei Interesse einfach auf den generierten Quellcode der Scripts -> http://www.beachstrike.de/?section=sitzplan&id=1
|
<?php
$lan_id = $_GET['id'];
$sql = "SELECT
*
FROM
seating_block
WHERE
party_id = '". $lan_id."'";
$result = mysql_query($sql);
$colstart = 1;
$rowstart = 1;
while($row = mysql_fetch_assoc($result))
{
while($rowstart <= $row['rows'])
{
while($colstart <= $row['cols'])
{
echo "<div class="seat" id="". $rowstart ."_". $colstart .""></div>";
$colstart++;
}
echo "<div class="clear"></div>";
$rowstart++;
$colstart = 1;
}
}
?>
|
EDIT: Bin damit fertig... 
http://www.beachstrike.de/?section=sitzplan&id=1 |
|
|
|
12.03.2012 11:51:05 Uhr
|
#5
|
|
|
sieht richtig gut aus, gratuliere Gibt ordentlich was her |
|
|
|
14.03.2025 07:29:14 Uhr
|
# 6
|
|
|
 |
|
Vorschau: |
|
|
|
|
|
|
|
|
Klicke auf den Smiley, um ihn zu deinem Text hinzuzufügen: |  |
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
|
|
|
|
|
|
|
|
|
Klicke auf den Smiley, um ihn zu deinem Text hinzuzufügen: |  |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 Standard Smileys |
|
|
|
|
|
|
|
|
[Zurück]
|
|