Hallo zusammen!
Ich hab da ein Problem und hoffe man kann mir hier helfen.
Ich hab ein Script, in dem man aufgelistet eine Reihe von Projekten sieht.
Man kann via klick an diesen "Projekten" teilnehmen.
Der Hintergrund ist der:
Jedes Projekt hat eine eigene Tabelle und beliebig viele Felder.
Das Programm sucht sich also zuerstmal die Tabellen und filtert dabei alle aus, die keine Projekttabellen sind (Benutzertabellen usw).
Dann sucht das Programm nach den einzelnen Feldern der Tabellen, filtert auch hier wieder was aus (ID und Name - die sollen unveränderbar sein) und gibt das Ergebnis dann aus.
Aber jetzt kommt das Problem:
Bevor alles ausgegeben wird, wird überprüft, ob der User schon Mitglied von einem Projekt ist, wenn ja, dann werden ihm auch die Felder der Projekte angezeigt, an denen er teilnimmt, wenn nein, dann sieht er nur Projektnamen.
Wenn man nun nirgends Mitglied ist, dann ist die Anzeige korrekt.
Sobald man aber irgendwo teinehmen möchte (dazu klickt man auf den Button teilnehmen neben dem Projekt) erscheinen zwar die Felder des Projektes, aber die Buttons der anderen Projekte verschwinden --> man kann also keine anderen mehr anwählen.
Ich weiß aber leider nicht wo der Fehler liegt (sonst würd ich ja wohl kaum hier diesen Post posten :wink: ).
Mein Code ist der:
Kann mir jemand sagen, wo da der Fehler liegt?
Vielen Dank im Vorraus für jede Antwort!

Ich hab da ein Problem und hoffe man kann mir hier helfen.
Ich hab ein Script, in dem man aufgelistet eine Reihe von Projekten sieht.
Man kann via klick an diesen "Projekten" teilnehmen.
Der Hintergrund ist der:
Jedes Projekt hat eine eigene Tabelle und beliebig viele Felder.
Das Programm sucht sich also zuerstmal die Tabellen und filtert dabei alle aus, die keine Projekttabellen sind (Benutzertabellen usw).
Dann sucht das Programm nach den einzelnen Feldern der Tabellen, filtert auch hier wieder was aus (ID und Name - die sollen unveränderbar sein) und gibt das Ergebnis dann aus.
Aber jetzt kommt das Problem:
Bevor alles ausgegeben wird, wird überprüft, ob der User schon Mitglied von einem Projekt ist, wenn ja, dann werden ihm auch die Felder der Projekte angezeigt, an denen er teilnimmt, wenn nein, dann sieht er nur Projektnamen.
Wenn man nun nirgends Mitglied ist, dann ist die Anzeige korrekt.
Sobald man aber irgendwo teinehmen möchte (dazu klickt man auf den Button teilnehmen neben dem Projekt) erscheinen zwar die Felder des Projektes, aber die Buttons der anderen Projekte verschwinden --> man kann also keine anderen mehr anwählen.
Ich weiß aber leider nicht wo der Fehler liegt (sonst würd ich ja wohl kaum hier diesen Post posten :wink: ).
Mein Code ist der:
PHP-Code:
<?
$mysql = "SELECT IDENT, NAME2A, ANREDE, EVI_STELLE FROM ".$tb_name_03." WHERE IDENT = ".$id;
$result = mysql_query($mysql);
/* ### Tabellennamen ermitteln ### */
/* ++ ANFANG ++ */
$table_name = mysql_list_tables($MYSQL_db);
$num_rows = mysql_num_rows($table_name);
for ($i = 0; $i < $num_rows; $i++)
{
if (!(mysql_tablename($table_name, $i) == "benutzer") && !(mysql_tablename($table_name, $i) == "vkadres") && !(mysql_tablename($table_name, $i) == "vkstamm"))
{
$projekt[$i] = mysql_tablename($table_name, $i);
// echo "[b]Table: ", $projekt[$i], "[/b]
";
/* ### Feldnamen ermitteln ### */
/* ++ ANFANG ++ */
$res = mysql_query("SELECT * FROM $projekt[$i]");
$num_fields = mysql_num_fields($res);
for ($j = 0; $j < $num_fields; $j++)
{
$projekt_feld[$j] = mysql_field_name($res, $j);
// echo $projekt_feld[$j] . "
";
}
/* ++ ENDE ++ */
}
}
mysql_free_result($table_name);
/* ++ ENDE ++ */
while($row = mysql_fetch_assoc($result))
{
$NAME2A = $row['NAME2A'];
$ANREDE = $row['ANREDE'];
/* +++ Wenn ein Button gedrückt wurde +++ */
if($update == "ja")
{
//$projekt_id = $_POST["$projekt_1"];
print_r($_POST);
//echo $projekt_id."
";
neuer_eintrag_01($tb_name_04, $id, $NAME2A, $ANREDE);
}
$mysql = "SELECT NAME2A, SELECTED FROM ".$tb_name_04." WHERE IDENT = ".$id;
$result = mysql_query($mysql);
?>
<form name="projektformular" action="index.php?section=projekt&update=ja&id=<?=$id?>" method="post" target="_self" >
.
.
.
<form>
<table>
.
.
.
</tr>
<?
/* ### Projektnamen ausgeben ### */
/* ++ ANFANG ++ */
for($i = 0; $i < $num_rows; $i++)
{
if (!empty($projekt[$i]))
{
echo "<tr>";
echo "<td>Verfügbare Projekte:</td>";
echo "<td>",$projekt[$i], "</td>";
$projekt_id = "projekt_".$i;
// wenn man noch nicht Mitglied ist
if (mysql_num_rows($result) == 0)
{
$CHOOSE_BUTTON = CHOOSE_BUTTON_1;
echo "<td><input type='checkbox' name='$projekt_id' $selected = 'checked' />";
echo "<input type='button' name='$projekt_id' value=' $CHOOSE_BUTTON ' onclick='anhaken_00(this.name)' /></td>";
echo "<input type='hidden' name='$projekt_id' value='$projekt[$i]' /></td>";
}
// wenn man schon Mitglied ist
else
{
while($row = mysql_fetch_assoc($result))
{
if(($row['SELECTED']) == "JA")
{
$selected = "checked";
$CHOOSE_BUTTON = CHOOSE_BUTTON_2;
}
else
{
$selected = "";
$CHOOSE_BUTTON = CHOOSE_BUTTON_1;
}
echo "<td><input type='checkbox' name='$projekt_id' $selected = 'checked' />";
echo "<input type='button' name='$projekt_id' value=' $CHOOSE_BUTTON ' onclick='anhaken_00(this.name)' /></td>";
/* ### Feldnamen ermitteln ### */
/* ++ ANFANG ++ */
$res = mysql_query("SELECT * FROM $projekt[$i]");
$num_fields = mysql_num_fields($res);
for ($j = 0; $j < $num_fields; $j++)
{
$projekt_feld[$j] = mysql_field_name($res, $j);
if (!($projekt_feld[$j] == "IDENT") && !($projekt_feld[$j] == "SELECTED"))
{
if($projekt_feld[$j] == "NAME2A")
{
echo "</tr><tr><td></td><td>Voller Name:</td><td><input type='text' value='$NAME2A' /></td></tr>";
}
else
{
echo "</tr><tr><td></td><td>$projekt_feld[$j]:</td><td><input type='text' value='' /></td></tr>";
}
}
}
/* ++ ENDE ++ */
}
}
}
}
/* ++ ENDE ++ */
?>
</tbody>
</table>
?>
.
.
.
<script type="text/javascript">
// *** Funktion, die die Checkbox anhakt
// +++ benutzt in: projekte.php
function anhaken_00(x)
{
// document.write(x);
var on = document.getElementsByName(x)[0].checked == true;
if(on)
{ document.getElementsByName(x)[0].checked = false; }
else
{ document.getElementsByName(x)[0].checked = true; }
document.projektformular.submit();
}
</script>
Vielen Dank im Vorraus für jede Antwort!
Kommentar