redback79
Erfahrenes Mitglied
Hallo zusammen,
Ich bin an einem Sessionbasierten Loginsystem, bei dem die verschiedenen Benutzer Rechte zum Zugriff auf Projekte zugewiesen kriegen. Nun möchte ich zwei Arrays deren Daten aus zwei verschiedenen Datenbanktabellen stammen ("userrights" und "project") untereinander vergleichen.
Die übereinstimmenden Daten sollen in einem Checkboxformular als "checked" angezeigt werden, der Rest soll als "unchecked" darunter aufgelistet werden.
Die Variable $username wird von einem Loginformular an folgendes Script weitergegeben:
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus!
Gruss redback79
ps. PHP Version 4 ;-)
Nachtrag: Mit obigem Script werden lediglich zwei "unchecked" Boxen welche denselben Projektnamen besitzen angezeigt :-(
Ich bin an einem Sessionbasierten Loginsystem, bei dem die verschiedenen Benutzer Rechte zum Zugriff auf Projekte zugewiesen kriegen. Nun möchte ich zwei Arrays deren Daten aus zwei verschiedenen Datenbanktabellen stammen ("userrights" und "project") untereinander vergleichen.
Die übereinstimmenden Daten sollen in einem Checkboxformular als "checked" angezeigt werden, der Rest soll als "unchecked" darunter aufgelistet werden.
Die Variable $username wird von einem Loginformular an folgendes Script weitergegeben:
PHP:
<?php
$verbindung = mysql_pconnect( "localhost", "xxx", "xxx");
mysql_select_db("xxx");
if (!$verbindung)
{
echo "Keine Verbindung zur Datenbank";
exit;
}
//ABFRAGE DER RECHTE
$sqlkommando = "SELECT projectname FROM userrights where username = '$username'";
$result1 = mysql_query ($sqlkommando);
$rechte = mysql_fetch_array ($result1);
//ABFRAGE DER GESAMTEN PROJEKTE
$sqlkommando2 = "SELECT projectname FROM project";
$result2 = mysql_query($sqlkommando2);
$projekte = mysql_fetch_array ($result2);
?>
<b>Der Benutzer "<?php echo"$username"; ?>" hat Zugriffsrechte auf folgende Projekte:</b>
<?php echo"<form method='POST' action='setrights_user.php?username=$username'>"; ?>
<table>
<?php
$ueberschneidung = array_intersect($rechte, $projekte);
$rest = array_diff($rechte, $projekte);
//PROJEKTE IN TABELLE AUSGEBEN
//checked
for($x=0;$x<sizeof($ueberschneidung);$x++){
echo"
<tr>
<td width='22'><input type='checkbox' name='check[]' value='$ueberschneidung[$x]' checked></td>
<td width='21'></td>
<td width='563'>$ueberschneidung[$x]</td>
</tr>";
}
//unchecked
for($y=0;$y<sizeof($rest);$y++){
echo"
<tr>
<td width='22'><input type='checkbox' name='check[]' value='$rest[$y]'></td>
<td width='21'></td>
<td width='563'>$rest[$x]</td>
</tr>";
}
?>
<tr>
<td width="22"></td>
<td width="21"></td>
<td width="563"> <input type="submit" value="Rechte festlegen""></td>
</tr>
</table>
</form>
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus!
Gruss redback79
ps. PHP Version 4 ;-)
Nachtrag: Mit obigem Script werden lediglich zwei "unchecked" Boxen welche denselben Projektnamen besitzen angezeigt :-(
Zuletzt bearbeitet: