Datenbank auslesen...problem

bloody

Mitglied
Ich habe ein Problem mit so ner Art Sitzplan. Es soll also eine Datenbank mit Usern ausgelesen und dann der Sitzplan "gezeichnet" werden. Jeder Platz der schon besetzt ist, soll mit dem bild "besetzt.gif" und jeder freie platz mit dem bild "frei.gif"
dargestellt werden. In jeder Tischreihe sollen aber auch nur 10 Tische stehen.

Mein Problem ist jetzt, dass angeblich immer nur der letzte User in der Datenbank einen platz reserviert hat und somit sein platz als reserviert angezeigt wird.

Hier unten ist mal der Code, ich hoffe dass man das Script dadurch leichter versteht, weils eigentlich schwer zu erklären ist :)

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

$resultzw = mysql_query("select * from xmember");
while($row = mysql_fetch_array($resultzw))
{
$mreihe = $row['reihe'];
$mplatz = $row['platz'];
$nick = $row['nickname'];
}

echo '<table border="0"><tr><td valign="top">';

$platz = 1;
while($platz < 11)
{
	if ($platz == $mplatz && $mreihe == a)
	{
	echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
	<img  rc=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz $platz reserviert
	für $nick\" border=\"0\"><br>";
	$platz++;
	}
	else
	{
	echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
	<a href=\"admin.php?page=platzres&reihe=a&platz=$platz\">
	<img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz $platz reservieren\" border=\"0\">
	</a><br>";
	$platz++;
	}
}

echo '</td><td valign="top">';

$platz = 1;
while($platz < 11)
{
	if ($platz == $mplatz && $mreihe == b)
	{
	echo "<img src=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz $platz
	reserviert für $nick\" border=\"0\">
	<img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
	$platz++;
	}
	else
	{
	echo "<a href=\"admin.php?page=platzres&reihe=b&platz=$platz\">
	<img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz $platz reservieren\" 
	border=\"0\"></a><img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
	$platz++;
	}
}

echo '</td></tr></table>';
?>
 
ungetestet!
PHP:
<?

include ("reg.php");

echo '<table border="0"><tr><td valign="top">';

$resultzw = mysql_query("select * from xmember");
while($row = mysql_fetch_array($resultzw))
{
	$mreihe[] = $row['reihe'];
	$mplatz[] = $row['platz'];
	$nick[] = $row['nickname'];
}

$platz = 1;
while($platz < 11)
{
    if (in_array($platz, $mplatz) && $mreihe[array_keys($mplatz, $platz)] == "a")
    {
    echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
    <img  rc=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz ".$platz." reserviert
    für ".$nick[array_keys($mplatz, $platz)]."\" border=\"0\"><br>";
    $platz++;
    }
    else
    {
    echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
    <a href=\"admin.php?page=platzres&reihe=a&platz=".$platz."\">
    <img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz ".$platz." reservieren\" border=\"0\">
    </a><br>";
    $platz++;
    }
}

echo '</td><td valign="top">';

$platz = 1;
while($platz < 11)
{
    if (in_array($platz, $mplatz) && $mreihe[array_keys($mplatz, $platz)] == "b")
    {
    echo "<img src=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz ".$platz."
    reserviert für ".$nick."\" border=\"0\">
    <img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
    $platz++;
    }
    else
    {
    echo "<a href=\"admin.php?page=platzres&reihe=b&platz=".$platz."\">
    <img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz ".$platz." reservieren\" 
    border=\"0\"></a><img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
    $platz++;
    }
}

echo '</td></tr></table>';

?>
 
Zuletzt bearbeitet:
ungetestet und nicht funktionsfähig :p
Illegal offset in den "if (in_array..." Zeilen.
Trotzdem danke :)

Ich weiss, dass das nicht soooo simpel ist, aber irgendwie muss man das doch auch machen können.
 
es wird daran liegen das innerhalb von [] keine funktionen aufgerufen werden dürfen
PHP:
<?
include ("reg.php");

echo '<table border="0"><tr><td valign="top">';

$resultzw = mysql_query("select * from xmember");
while($row = mysql_fetch_array($resultzw))
{
	$mreihe[] = $row['reihe'];
	$mplatz[] = $row['platz'];
	$nick[] = $row['nickname'];
}

$platz = 1;
while($platz < 11)
{
    $o = array_keys($mplatz, $platz);
	if (in_array($platz, $mplatz) && $mreihe[$o] == "a")
    {
    echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
    <img  rc=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz ".$platz." reserviert
    für ".$nick[array_keys($mplatz, $platz)]."\" border=\"0\"><br>";
    $platz++;
    }
    else
    {
    echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
    <a href=\"admin.php?page=platzres&reihe=a&platz=".$platz."\">
    <img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz ".$platz." reservieren\" border=\"0\">
    </a><br>";
    $platz++;
    }
}

echo '</td><td valign="top">';

$platz = 1;
while($platz < 11)
{
    $o = array_keys($mplatz, $platz);
	if (in_array($platz, $mplatz) && $mreihe[$o] == "b")
    {
    echo "<img src=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz ".$platz."
    reserviert für ".$nick."\" border=\"0\">
    <img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
    $platz++;
    }
    else
    {
    echo "<a href=\"admin.php?page=platzres&reihe=b&platz=".$platz."\">
    <img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz ".$platz." reservieren\" 
    border=\"0\"></a><img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
    $platz++;
    }
}

echo '</td></tr></table>';
?>
 
Kommt immernoch der selbe Fehler..
Code:
Illegal offset type in .... line 18

Line18:
    if (in_array($platz, $mplatz) && $mreihe[$o] == "a")

    $o = array_keys($mplatz, $platz);
 
mpf...hast du icq, mirc, msn?
PHP:
<?
include ("reg.php");

$mreihe = array();
$mplatz = array();
$nick = array();

echo '<table border="0"><tr><td valign="top">';

$resultzw = mysql_query("select * from xmember");
while($row = mysql_fetch_array($resultzw))
{
	$mreihe[] = $row['reihe'];
	$mplatz[] = $row['platz'];
	$nick[] = $row['nickname'];
}

$platz = 1;
while($platz < 11)
{
    $o = array_keys($mplatz, "$platz");
	if (in_array($platz, $mplatz) && $mreihe[$o] == "a")
    {
    echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
    <img  rc=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz ".$platz." reserviert
    für ".$nick[array_keys($mplatz, $platz)]."\" border=\"0\"><br>";
    $platz++;
    }
    else
    {
    echo "<img src=\"sitzplan/stuhl.gif\" border=\"0\">
    <a href=\"admin.php?page=platzres&reihe=a&platz=".$platz."\">
    <img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz ".$platz." reservieren\" border=\"0\">
    </a><br>";
    $platz++;
    }
}

echo '</td><td valign="top">';

$platz = 1;
while($platz < 11)
{
    $o = array_keys($mplatz, "$platz");
	if (in_array($platz, $mplatz) && $mreihe[$o] == "b")
    {
    echo "<img src=\"sitzplan/besetzt.gif\" alt=\"Reihe G - Platz ".$platz."
    reserviert für ".$nick."\" border=\"0\">
    <img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
    $platz++;
    }
    else
    {
    echo "<a href=\"admin.php?page=platzres&reihe=b&platz=".$platz."\">
    <img src=\"sitzplan/frei.gif\" alt=\"Reihe G - Platz ".$platz." reservieren\" 
    border=\"0\"></a><img src=\"sitzplan/stuhl.gif\" border=\"0\"><br>";
    $platz++;
    }
}

echo '</td></tr></table>';
?>
 
ich programmiere seit schon ne ganze weile - keine angst.
solche fehler kommen aber immer wieder vor und leider hängt man dann an solchen lapalien ewig fest.

das problem muß hier liegen:
$o = array_keys($mplatz, "$platz");

nach http://de.php.net/manual/de/function.array-keys.php müßte in $o ein array stecken...also müßten wir auf den ersten wert des arrays zugreifen:
$o[0];

setze $o[0] mal an diese stellen:
if (in_array($platz, $mplatz) && $mreihe[$o[0]] == "a")
if (in_array($platz, $mplatz) && $mreihe[$o[0]] == "b")

ps.:
du solltest dich etwas mehr dankbar zeigen , wenn schon jemand seine zeit aufopfert, um dir zu helfen.
 
Man beachte die smilies hinter meinen sätzen, wenn du dich angegriffen gefühlt hast tuts mir leid, war nich meine absicht.
Ich habs auch jetzt hinbekommen - danke dir
 
Zuletzt bearbeitet:
Zurück