LAN Sitzplan

  • Themenstarter Themenstarter Perforator
  • Beginndatum Beginndatum
P

Perforator

hi,
also ich habe eine Gästeliste für eine LAN die wiederum eine Tabelle in meiner MySQL datenbank hat wo alle User mit ID, usw... aufgelistet sind.
So, nun möchte ich noch einen Sitzplan dazu haben. Das heißt das aus der Tabelle (oben beschrieben) an eine weiter tabelle weitergegeben werden für den sitzplan. Nun kann ein Besucher der LAN einen Platz reservieren. Dies soll dann im Sitzplan mit farben gekennzeichnet werden (wie bei nem Plan von lansurfer)
also z.B.:
rot = reserviert
grün = frei
gelb = vorgemerkt
Meine Idee war eben wie oben genannt das dies durch die Weitergabe der User in die z.B. "sitzplan"-Tabelle gehen dürfte, sodass dann letztendlich ein Besucher der LAN auch das recht auf die Reservierung hat.

Doof erklärt, ich weiss :D
Ich hoffe jemand versteht was ich will und kann mir eine Lösung anbieten?! Ein Gästelisten-System hab ich schon also fehlt nur noch die Vollendung.
Falls jemand selbst unbeholfen ist kann er mir ja evtl. sagen wo ich sowas bekomm (abgesehen von lansurfer)
thx im voraus
PS: Suchfunktion hat da auch nixmehr gebracht
 
Kino Reservierung in PHP

Schau mal hier. Geh auf Programm und wähle eine Uhrzeit aus. Am besten eine um 20 Uhr. Schicke die Reservierung ab (ich lösche den Eintrag wieder aus der DB) nimmst als Namen Hubertus Huber dann weiss ich das das du bist :-)

Wenn die Reservierung bestätigt wurde gehst zurück und klickst wieder auf den Film und die Uhrzeit. Wenn es das ist was du meinst kann ich dir ein paar Tips geben!

PS: Das Design ist nicht von mir :rolleyes: aber die Programmierung!:-)
 
super

jjjjjjjaaaaaaaaaaaaaaaa geil!
DU BIST MEINE RETTUNG
juhu
geil geil geil
ok, also des is echt n1!
gib mal tipps...
*injubelausbrech*
 
Also das ist wie folgt aufgebaut:

Es gibt zwei Tabellen. Eine die den Bestuhlungsplan enthält und eine die den Belegungsplan enthält. Beide Tabellen sind identisch.

Du hast jetzt mehrer Möglichkeiten das darzustellen.

Ich poste dir hier mal den Source Code, auch wenn er dir erstmal recht unverständlich vorkommt :-)
Vielleicht findest du dich ja zurecht, wenn nicht schreibe hier rein und ich werde versuchen dir zu helfen!

PHP:
	/* sql statement einlesen */	
	$sqlPlatz = "SELECT REIHE, S01, S01ST, S02, S02ST, S03, S03ST, S04, S04ST, S05, ";
	$sqlPlatz.= "S05ST, S06, S06ST, S07, S07ST, S08, S08ST, S09, S09ST, S10, S10ST, S11, ";
	$sqlPlatz.= "S11ST, S12, S12ST, S13, S13ST, S14, S14ST, S15, S15ST, S16, S16ST, S17, ";
	$sqlPlatz.= "S17ST, S18, S18ST, S19, S19ST, S20, S20ST, S21, S21ST, S22, S22ST, S23, ";
	$sqlPlatz.= "S23ST, S24, S24ST, S25, S25ST, S26, S26ST, S27, S27ST, S28, S28ST, S29, ";
	$sqlPlatz.= "S29ST, S30, S30ST, S31, S31ST, S32, S32ST, S33, S33ST, S34, S34ST, S35, ";
	$sqlPlatz.= "S35ST, S36, S36ST, S37, S37ST, S38, S38ST ";
	$sqlPlatz.= "FROM ".$platz->tbl_platz." Platz ";
	$sqlPlatz.= "WHERE (KINO = $knr) ";
	$sqlPlatz.= "AND (DATUM = $filmdatum) ";
	$sqlPlatz.= "AND (VORST = $vorst) ";
	$sqlPlatz.= "ORDER BY REIHE ";
	$platz->odbc_query ( $sqlPlatz );
	
	$sqlStuhl = "SELECT REIHE, S01, S02, S03, S04, S05, ";
	$sqlStuhl.= "S06, S07, S08, S09, S10, S11, ";
	$sqlStuhl.= "S12, S13, S14, S15, S16, S17, ";
	$sqlStuhl.= "S18, S19, S20, S21, S22, S23, ";
	$sqlStuhl.= "S24, S25, S26, S27, S28, S29, ";
	$sqlStuhl.= "S30, S31, S32, S33, S34, S35, ";
	$sqlStuhl.= "S36, S37, S38 ";
	$sqlStuhl.= "FROM ".$stuhl->tbl_stuhl." Stuhl ";
	$sqlStuhl.= "WHERE (KINO = $knr) ";
	$sqlStuhl.= "ORDER BY REIHE ";
	$stuhl->odbc_query ( $sqlStuhl );
	
	$spaltenname = array ( "S01", "S02", "S03", "S04", "S05", "S06", "S07", "S08", "S09", "S10", "S11", 
							"S12", "S13", "S14", "S15", "S16", "S17", 
							"S18", "S19", "S20", "S21", "S22", "S23", 
							"S24", "S25", "S26", "S27", "S28", "S29", 
							"S30", "S31", "S32", "S33", "S34", "S35", 
							"S36", "S37", "S38" );
	
	
	$s = 1;
	$p = 1;
	
	odbc_fetch_row ( $platz->result, $p );
	$belPlan = array ();
	
	while ( odbc_fetch_row ( $stuhl->result, $s ) )
	{
		$belReihe = array ();
	
		if ( ( odbc_result ( $platz->result, "REIHE" ) ) != ( odbc_result ( $stuhl->result, "REIHE" ) ) )
		{
			// lesen aus stuhl
			for ( $sloop=0; $sloop < 38; $sloop++ )
			{
				$spaltennameResult = odbc_result ( $stuhl->result, $spaltenname[$sloop] );
				
				if ( $spaltennameResult == 0 )
				{
					array_push ( $belReihe, "0" );
				}
				else
				{
					array_push ( $belReihe, "B" );
				}
			}		
		}
		else
		{
			// lesen aus platz
			for ( $sloop=0; $sloop < 38; $sloop++ )
			{
				$spaltennameResult = odbc_result ( $platz->result, $spaltenname[$sloop] );
				
				if ( $spaltennameResult == 0 )
				{
					array_push ( $belReihe, "0" );
				}
				
				if ( ( $spaltennameResult >= 1 ) && ( $spaltennameResult <= 98 ) )
				{
					switch ( odbc_result ( $platz->result, $spaltenname[$sloop]."ST" ) )
					{
						case "":
							array_push ( $belReihe, "G;".odbc_result ( $platz->result, "REIHE" ).";".$spaltennameResult );
							break;

						case "R":
							array_push ( $belReihe, "R" );
							break;

						case "V":
							array_push ( $belReihe, "V" );
							break;
					}
				}

				if ( $spaltennameResult == 99 )
				{
					array_push ( $belReihe, "B" );
				}
			}

			$p++;
			odbc_fetch_row ( $platz->result, $p );
		}

		$belPlan[] = $belReihe;
		$reihe[] = odbc_result ( $stuhl->result, "REIHE" );
		$s++;
	}
 
autsch

hm...
jo sieht toll aus *garnixcheck*
Aber auf diesem Prinzip sollte es bzw. is sowas aufgebaut!
Ich benötige ja auch 2 Tabellen. Bei dir ist es einmal der Bestuhlungsplan und einmal der Belegungsplan.
Bei mir wären des dann die Gäste und einmal der Sitzplan-Gäste (oder so ähnlich :-) )

Bei mir müsste es halt dann so sein das die Tabelle des Sitzplans den Inhalt der Tabelle der Gäste haben müsste (damit halt auch nur ein angemeldeter Gast einen Sitzplan auswählen kann).

Einfach gesagt: Ich brauch einfach ein komplettes System das ich dann je nach dem auf meine Bedürfniss zuschneiden kann.
 
Ich wüßte jetzt nicht ob es da ein fertiges Modul gibt. Wobei ich eher denke das Nein!

Ich habe aber eine einfachere Lösung für dich!

Versuche doch das ganze in eine Tabelle zu packen. Mal angenommen du hast 5 Reihen mit jeweils 5 Plätzen dann könnte deine Tabelle so aussehen:

id
Sitz01
Status01
Sitz02
Status02
Sitz03
Status03
Sitz04
Status04
Sitz05
Status05

Pro Reihe hast du einen Datensatz. In Sitz01 usw. speicherst du ob da wirklich ein Sitz vorhanden ist. Ich glaube kaum das dein Sitzplan von oben wie ein Rechteck aussieht :rolleyes:

Ist das Feld Status speicherst du zu jedem Sitz ob er reseriviert ist oder nicht. Am besten beides mit Boolschen Feldern!

Dann könnte das ungefähr so aussehen:

PHP:
$rows = mysql_fetch_array ($result))
{
  if ($rows[Sitz01])
  {
    echo "Ist da ";
    if ($rows[Status01)
    {
      echo " und noch frei";
    }
    else
    {
      echo " und schon belegt";
    }
  }
}

Natürlich ist das jetzt nur ein simples Beispiel. Wenn dann bietet sich hier an auch mit Arrays zu arbeiten ... Denn du wirst sicherlich mehr als 5 Plätze pro Reihe haben!

Grüße
Fatility
 
jep

hm...
jo werd ich mal probieren!

komm halt ned mit dem code zurecht (kann ihn zwar interpretieren aber der letzt stich fehlt mir alles zu kapieren)

bin halt doch dumm :-)
naja
falls ich nicht hinbekomm werd ich wohl doch das system von lansurfer nehmen.
oder ich meld mich nochmal bei dir
thx für deinen Hilfsbereitschaft ;)
 
Ich sehe gerade das der wichtigste Teil fehlt :-) :eek:

PHP:
		function erstelleBild ( $wert )
		{
			$content = substr ( $wert, 0, 1 );

			if ( $content == "0" ) return "";
			
			if ( $content == "G" )
			{
				$data = split ( ";", $wert );
				return "<a href=\"javascript:sitzwahl ( 'R".$data[1]."S".$data[2]."' )\"><img src=\"img/f.gif\" name=\"R".$data[1]."S".$data[2]."\" border=\"0\"></a>";			
			}
			
			if ( $content == "B" ) return "<img src=\"img/n.gif\">";
			if ( $content == "R" ) return "<img src=\"img/b.gif\">";
			if ( $content == "V" ) return "<img src=\"img/b.gif\">";
		}
		
		$i = 0;
		$ende = count ( $belPlan );
		
		while ( $i < $ende )
		{
			echo "<tr>\n";
			foreach ( $belPlan[$i] as $val )
			{
				echo "<td height=\"25\">".erstelleBild ( $val )."</td>\n";
			}
			echo "<td valign=\"middle\">&nbsp;&nbsp;R".$reihe[$i]."</td>";
			echo "</tr>\n";
			$i++;
		}

vielleicht verstehst du das jetzt etwas besser!
Gruß
Fatility
 
jep

jo also ich hab mich jetzt mal durch deinen code "geboxt" und versteh jetzt einiges mehr als vorher ;)

wenn ich das richtig verstanden hab bilde ich aus einer Reihe sozusagen einen Array.
Das würde dann wie folgt aussehen:
Sitz1
Sitz2
Sitz3
Sitz4
Sitz5

Sitz 1-5 bilden eine Reihe. Aus diesen 5 Sitzen bzw. diese Reihe mach ich als einen Array.

Danach die folgenden Reihen.
Natürlich muss ich dann auch jedem Sitz dem Status zuweisen. Also falls jemand einen Platz reserviert, wird dann dem Sitz z.B. der Status01 vergeben mit der dazugehöring ID des Gasts. So dass dann der Sitz.. für den Gast mit der ID.. reserviert ist.

Das ganze kann ich auch in eine Tabelle tun.
Ich brauch nur noch eine Spalte für den Status.

So dürfte es eigentlich hinhauen. Das mit den Grafiken is ja auch kein Stress, weil du des ja eh scho gepostet hast. :-)

ergänz mich bitte falls etwas nicht stimmt oder du noch weitere Vorschläge hast.
 
shit

kann bitte ein Mod den oben stehenden Post in den Thread "LAN-Sitzplan" tun?
und diesen Thread dann löschen?
wäre nett
thx
 
Zurück