Das Clanportal für OnlineGamer

Community

Mehrere Werte in eine SQL-Tabelle

Öffentliche Foren »Computer Ecke»Mehrere Werte in eine SQL-Tabelle
EDIT: Überlege mir gerade etwas anderes - aber wenn jemand noch eine idee hat, kann er sich ja melden.


Mal wieder was zu denken...

Ich bau nun die Lanparty Page selber zusammen, da es mit unseren bestehenden System nicht so richtig klappen will.

(bisheriger Stand: http://www.beachstrike.de - Accountsystem ist noch nicht öffentlich)
Wenn jemand Lust und Zeit hat, am System mitzuarbeiten - ist hilfe gern gesehen.
Suche daher jemand, der sich evtl. mit dem Smarty-System auskennt, und ich mich nur um das Design kümmern kann.
Ideen habe ich viele - nur die Umsetzung ist leider nicht immer einfach für mich.

Projekt ist also: ein neueres Lan-System (wie LanSuite) welches Modular aufgebaut ist und jedes Modul eine eigene Design-Datei hat.

Was ich aktuell erreichen möchte?

- Meine LanParty DB hat die Tabelle: lan_guest_id
- Die User die sich für eine Lan ($lan_id) anmelden wollen - sollen alle per Komma oder Absatz-getrennt in "lan_guest_id" geschrieben werden.

Zitat:
1,4,3,6,8,2,...

oder

Zitat:
1
4
6
...


Das auslesen funktioniert bisher so...
Code (PHP):
$lan_id = $_GET['register'];                                  // ID der Lanparty übergeben
$user_id = $_SESSION['user_id'];                              // ID des aktuellen Users übergeben
$sql = "SELECT                                                // SQL Abfrage starten
	*
FROM
	lanparty
WHERE
	id = '$lan_id'                                            // nur die übergebene Lan-ID abfragen
AND
	lan_guest_id REGEXP '(^|[^0-9])$user_id([^0-9]|$)'";      // Nach der User-ID suchen


Das Problem ist nun ja nicht das Auslesen - sondern das eintragen. Es muss also beim Klick auf einen Link / bzw. Button der User als neue Zeile unten in die Tabelle ""lan_guest_id"" geschrieben, bzw. beim Abmelden von der Lan, diese Zeile ohne verbleibende Lücke gelöscht werden.

EDIT: Überlege mir gerade etwas anderes - aber wenn jemand noch eine idee hat, kann er sich ja melden.

Habe es nun anders gelöst - ist auch besser so finde ich ... achja ... und einfacher

Moduldatei:

Code (PHP):
	$lan_id = $_GET['register'];
	$user_id = 1;

	echo "<div class="content_head">
			<div style="padding: 5px 0 0 5px">
				Anmelden zur ". getLanName($lan_id) ."
			</div>
		</div><br>";

	
	if(checkRegisterStatus($lan_id, $user_id))
		{
			echo "1. Du bist zur Lan Angemeldet.<br><br>";
			if(checkPaidStatus($lan_id, $user_id))
				{
					echo "2. Du hast schon bezhalt.<br><br>";
					if(checkSeatStatus($lan_id, $user_id))
						{
							echo "3. Du hast einen Sitzplatz ausgewählt.";
						}
					else
						{
							echo "3. Du hast noch keinen Sitzplatz ausgewählt.";
						}
				}
			else
				{
					echo "2. Du hast noch nicht bezahlt.<br><br>";
				};
		}
	else
		{
			echo "1. Jezt zur Lan anmelden.";
		};


Funktion:

Code (PHP):
        // LAN suchen
		function getLanName($lan_id)
			{
				$sql = "SELECT id, lan_name FROM lanparty WHERE id = '$lan_id' LIMIT 1";
				$result = mysql_query($sql);
					while($row = mysql_fetch_array($result))
						{
							$lan_name = $row['lan_name'];
						}
				return $lan_name;
			}

		// checkRegisterStatus
		function checkRegisterStatus($lan_id, $user_id)
			{
				$sql = "SELECT
					*
				FROM
					lanparty_guests
				WHERE
					lan_id = '$lan_id'
				AND
					user_id = '$user_id'";

				$result = mysql_query($sql);
				if(mysql_num_rows($result))
					{
						return 1;
					}
			}

		// CheckPaid
		function checkPaidStatus($lan_id, $user_id)
			{
				$sql = "SELECT
					*
				FROM
					lanparty_guests
				WHERE
					lan_id = '$lan_id'
				AND
					user_id = '$user_id'
				AND
					user_paid = 1";

				$result = mysql_query($sql);
				if(mysql_num_rows($result))
					{
						return 1;
					}
				else
					{
						return 0;
					}
			}
			
		// checkSeatStatus
		function checkSeatStatus($lan_id, $user_id)
			{
				$sql = "SELECT
					*
				FROM
					lanparty_guests
				WHERE
					lan_id = '$lan_id'
				AND
					user_id = '$user_id'
				AND
					user_seat = 1";

				$result = mysql_query($sql);
				if(mysql_num_rows($result))
					{
						return 1;
					}
				else
					{
						return 0;
					}
			}
edit: fehler gefunden...
Okay, kanns dann geschlossen werden?

btw: Du hast einen Tippfehler bei "1. Jezt zur Lan anmelden"
System ist schon net mehr in dem Stand - aber danköö



Das Thema wurde am 02.02.2012 um 23:01:19 von Whîtêkñîght geschlossen