Hallo,

bin seit geraumer Zeit dabei eine Mitgliederverwaltung zu programmieren.
Ich habe schon sehr viel Zeit in die Suche nach einer Lösung investiert, konnte aber nichts finden. Ich denke aber auch, dass die Lösung gar nicht so schwierig ist, aber ich bekomme es nicht auf die Reihe.

Es handelt sich bei dem Problem um eine n:m Beziehung zwischen Mitgliedern und Projekten.
Es geht um folgende Tabellen:

mitglieder:
- id (primary)
- name
- vorname

projekte:
- pro_id (primary)
- pro_beschriftung

Abschließend noch die Verknüpfungstabelle

m2p:
- m2p_id (primary)
- id
- pro_id


In einem Eingabeformular für ein neues Mitglied sollen alle Projekte dynamisch aufgelistet werden. Es soll die Möglichkeit bestehen mehrere Projekte einem Mitglied zuzuordnen.
Ich konnte auch mit Dreamweaver dynamische Checkboxen erzeugen. Sprich es werden alle Projekte und jeweils ein Kästchen aufgelistet.

Das Problem ist jetzt die Übergabe an die DB.
Ich will erreichen, dass Mitglied 1 hinzugefügt wird und das die Zusammenhänge in m2p geschrieben werden.






z.B.: Wenn man in dem Formular „name: mitglied vorname:mitglied“ schreibt und bei Projekt 1 und Projekt 2 einen hacken setzt, dann sollen die Tabellen am Ende so aussehen:
(angenommen die Projektetabelle ist bereits mit zwei Projekten mit der pro_id 1 und 2 gefüllt)

Mitglieder [id,name,vorname] -> [1,mitglied,mitglied]
M2p [m2p_id,id,pro_id] -> [1,1,1]
> [2,1,2]

Es sollen also pro angeklicktem Projekt eine neue Zeile in der Zwischentabelle eingefügt werden.
Gibt es dafür eine Möglichkeit in DW oder muss man sowas per Hand programmieren?
Könntet ihr mir beim code helfen?

Aktuell sieht er so aus:

Code:
<?php require_once('Connections/mitglieder.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO mitglieder (id, name, vorname) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['name'], "text"),
                       GetSQLValueString($_POST['vorname'], "text"));

  mysql_select_db($database_mitglieder, $mitglieder);
  $Result1 = mysql_query($insertSQL, $mitglieder) or die(mysql_error());
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO mitglied2inpro (id, inpro_id) VALUES (%s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['inpro_ID'], "int"));

  mysql_select_db($database_mitglieder, $mitglieder);
  $Result1 = mysql_query($insertSQL, $mitglieder) or die(mysql_error());
}

mysql_select_db($database_mitglieder, $mitglieder);
$query_Recordset1 = "SELECT inpro_id, intern_projektnummer FROM `interne projekte` ORDER BY intern_projektnummer ASC";
$Recordset1 = mysql_query($query_Recordset1, $mitglieder) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

mysql_select_db($database_mitglieder, $mitglieder);
$query_Recordset2 = "SELECT id FROM mitglieder";
$Recordset2 = mysql_query($query_Recordset2, $mitglieder) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<form action="<?php echo $editFormAction; ?>" method="POST" name="form2" id="form2">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Name:</td>
      <td><input type="text" name="name" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Vorname:</td>
      <td><input type="text" name="vorname" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Datensatz einfügen" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Projekte</td>
      <td><?php do { ?>
          <input <?php if (!(strcmp($row_Recordset1['intern_projektnummer'],"I-10033"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="projektnummer" id="projektnummer" />
          <?php echo $row_Recordset1['intern_projektnummer']; ?>
          <input name="inpro_ID" type="hidden" id="inpro_ID" value="<?php echo $row_Recordset1['inpro_id']; ?>" />
          <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></td>
    </tr>
  </table>
  <input type="hidden" name="id" value="" />
  <input type="hidden" name="MM_insert" value="form2" />
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($Recordset1);

mysql_free_result($Recordset2);
?>