Habe das Modul nochmals angepasst.
In der Anpassung habe ich folgendes eingesetzt:
Code: Alles auswählen
//Anpassungen
$pfad = "front_content.php?idcatart=" . $idcatart;
//Anpassungen Ende
$dbConnect = new DB_Contenido;
$sort = $_GET['sort'];
$alpha = $_GET['alpha'];
$aktiv = 1;//aktiv =1: nur die aktiven Datensaetze
$updatedat = $_GET['detailid'];
$idcatartedit = $_GET['detailid'];
//-----------------------
Das reicht aus und ist funktionsfähig. Ich habe es mehrfach getestet. Dann habe ich bei der Ausgabe nur zum editieren meine
idcatart eingesetzt, damit CONTENIDO weiss, wo ich mein Editierbereich habe. Ich habe auch sofort die E-MAIL Funktion (von MC übernommen) gleich mit integriert. Das sieht dann folgendermassen aus:
Code: Alles auswählen
echo "<tr bgcolor=\"#FFFFFF\"><td><nobr>" . $Nachname . ", " . $Titel . " " . $Vorname ."</nobr><br>
<a href=\"mailto:". $Mail . "\">". $Mail ."</a>
</td><td>" . $Beruf ."</td><td>" . $PLZ ."</td><td>". $Ort . "</td><td align=\"center\">". $aktiv . "</td> <td><nobr><a href=\"".$pfad."&deletedat=$id\" onClick=\"return confirm('Soll der Datensatz wirklich gelöscht werden?');\">löschen <img src=\"images/bild_delete.gif\" border=\"0\"></a></nobr></td><td><nobr><a href=\"front_content.php?idcatart=100&updatedat=$id\">editieren <img src=\"images/bild_edit.gif\" border=\"0\"><a/></nobr></td></tr>";
Hier jetzt der gesamte Output:
Code: Alles auswählen
<?php
echo"<link rel=\"stylesheet\" type=\"text/css\" href=\"css/format_edit.css\">";
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname: einfache Mitgliederliste - Mitglieder_Edit_Auswahl
* Author(s): Mc
* Erstellt: 13-05-2006
* Modifiziert:
* Beschreibung: Liste der Mitglieder mit Loeschfunktion (Nachfrage per javascript) und der Moeglichkeit, den vollstaendigen Datensatz zum Editieren aufzurufen.
* Anpassung: Angepasst werden muessen die idcatart des aktuellen Artikels in der Variablen $idcatart und die idcatart des Editierartikels in $idcatartedit
************************************************/
$dbConnect = new DB_Contenido;
//Anpassungen
$pfad = "front_content.php?idcatart=" . $idcatart;
//Anpassungen Ende
$dbConnect = new DB_Contenido;
$sort = $_GET['sort'];
$alpha = $_GET['alpha'];
$aktiv = 1;//aktiv =1: nur die aktiven Datensaetze
$updatedat = $_GET['detailid'];
$idcatartedit = $_GET['detailid'];
//-----------------------
$alpha = $_GET['alpha'];
$sort = $_GET['sort'];
$aktiv = 1;//aktiv =1: nur die aktiven Datensaetze
// Wenn ein Datensatz geloescht werden soll,
// wird er aus der Datenbank entfernt.
if (isset($deletedat)) {
$sql = "DELETE FROM con_adressen WHERE ID=$deletedat";
if (@mysql_query($sql)) {
echo("<p>Der Datensatz wurde gelöscht.</p>");
}
else {
echo("<p>Fehler beim Löschen des Datensatzes: " .
mysql_error() . "</p>");
}
}
echo "<p><table class=\"text\" width=\"100%\" cellspacing=1 cellpadding=2 bgcolor=\"#CCCCCC\"><tr><td bgcolor=\"#E2E2E2\">Content Management Tool von webec</td></tr></table></p>";
echo "<p><table class=\"text\" width=\"100%\" cellspacing=1 cellpadding=2 bgcolor=\"#CCCCCC\"><tr><td bgcolor=\"#E2E2E2\">Die Mitglieder der Karl-Heinz-Hiersemann-Gesellschaft - Liste der Datensätze</td></tr></table></p>";
//--------------------------------------------------------------------
?>
<p>
<table class="text" width="100%" cellspacing=1 cellpadding=2 bgcolor="#CCCCCC">
<tr>
<td class="text" bgcolor="#E2E2E2">alphabetische Auswahl</td>
</tr>
<tr>
<td class="text" bgcolor="#E2E2E2" valign="top">
<!--------------------- alphabetische Auswahl ------------------>
<?php
// Array erstellen mit den Buchstaben des Alphabetes
$Aliste = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
// es werden nur diejenigen Buchstaben des Alphabetes ausgelesen, zu denen ein Nachname existiert
// und dann im Array $array gespeichert
$array = array(); // Hierdurch wird ein Array namens $array ohne Inhalt initialisiert
$result = @mysql_query("SELECT DISTINCT LEFT(Nachname,1) AS Buchstaben FROM con_adressen WHERE aktiv = $aktiv ORDER BY Nachname");
if (!$result) {
echo("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>");
exit();
}
while($row = mysql_fetch_array($result)) {
$Buchstabe = $row["Buchstaben"];
$array[] = $Buchstabe;
}
//ab hier Ausgabe des Alphabetes mit Verlinkung der vorhandenen Buchstaben
for ($i=0; $i<28; $i++) {
$text = $Aliste[$i]; //Buchstaben des Alphabetes auslesen
if(in_array($text, $array)) {//Ueberpruefung, ob der Buchstabe $text im array enthalten ist
$text = "<a href=\"".$pfad."&alpha=".$text."\">".$text."</a>";
}
echo $text." ";
}
?>
<a href="<?php echo $pfad; ?>">alle</a><br>
</td>
</tr>
</table>
<!--------------------- Ende alphabetische Auswahl ------------------>
<?php
// Datensaetze abfragen mit unterschiedlichen Sortiervorgaben: $sort (Nachname, PLZ, Ort, ..) bzw. $alpha (Ausgabe nur derjenigen Datensätze mit entsprechendem Anfangsbuchstaben im Nachnamen; wenn weder $sort noch $alpha übergeben wurde, erfolgt Ausgabe aller Datensätze sortiert nach dem Nachnamen. Wenn $alpha vorgewaehlt wurde, kann innerhalb des Buchstabens nach Nachname, Beruf usw. sortiert werden.
if(isset($sort) && empty($alpha)){
$result = @mysql_query("SELECT id, Titel, Vorname, Nachname, Beruf, PLZ, Ort, aktiv, Mail FROM con_adressen WHERE aktiv=$aktiv ORDER BY $sort, Nachname");
}
elseif (isset($alpha) && empty($sort)){
$result = @mysql_query("SELECT id, Titel, Vorname, Nachname, Beruf, PLZ, Ort, aktiv, Mail FROM con_adressen WHERE aktiv=$aktiv AND Nachname LIKE '$alpha%' ORDER BY Nachname");
}
elseif ($alpha && $sort){
$result = @mysql_query("SELECT id, Titel, Vorname, Nachname, Beruf, PLZ, Ort, aktiv, Mail FROM con_adressen WHERE aktiv=$aktiv AND Nachname LIKE '$alpha%' ORDER BY $sort, Nachname");
}
else {
$result = @mysql_query("SELECT id, Titel, Vorname, Nachname, Beruf, PLZ, Ort, aktiv, Mail FROM con_adressen WHERE aktiv=$aktiv ORDER BY Nachname");
}
//---------------- Abfrage Ende ----------------------------------
// Text jedes Datensatzes in einem Absatz anzeigen
// mit einem Link "Datensatz loeschen" daneben
echo "<table class=\"text\" width=\"100%\" cellspacing=1 cellpadding=2 bgcolor=\"#CCCCCC\">";
echo "<tr bgcolor=\"#FFFFFF\"><td bgcolor=\"#E2E2E2\"><a href =\"".$pfad."&sort=Nachname&alpha=".$alpha."\">Name</a>, Titel Vorname</td><td bgcolor=\"#E2E2E2\"><a href =\"".$pfad."&sort=Beruf&alpha=".$alpha."\">Beruf/Firma</a></td><td bgcolor=\"#E2E2E2\"><a href =\"".$pfad."&sort=PLZ&alpha=".$alpha."\">PLZ</a></td><td bgcolor=\"#E2E2E2\"><a href =\"".$pfad."&sort=Ort&alpha=".$alpha."\">Ort</a></td><td bgcolor=\"#E2E2E2\">aktiv</td><td bgcolor=\"#E2E2E2\">löschen</td><td bgcolor=\"#E2E2E2\">editieren </td></tr>";
while ( $row = mysql_fetch_array($result) ) {
$id = $row["id"];
$Titel = $row["Titel"];
$Vorname = $row["Vorname"];
$Nachname = $row["Nachname"];
$Beruf = $row["Beruf"];
$PLZ = $row["PLZ"];
$Ort = $row["Ort"];
$aktiv = $row["aktiv"];
$Mail = $row["Mail"];
echo "<tr bgcolor=\"#FFFFFF\"><td><nobr>" . $Nachname . ", " . $Titel . " " . $Vorname ."</nobr><br>
<a href=\"mailto:". $Mail . "\">". $Mail ."</a>
</td><td>" . $Beruf ."</td><td>" . $PLZ ."</td><td>". $Ort . "</td><td align=\"center\">". $aktiv . "</td> <td><nobr><a href=\"".$pfad."&deletedat=$id\" onClick=\"return confirm('Soll der Datensatz wirklich gelöscht werden?');\">löschen <img src=\"images/bild_delete.gif\" border=\"0\"></a></nobr></td><td><nobr><a href=\"front_content.php?idcatart=100&updatedat=$id\">editieren <img src=\"images/bild_edit.gif\" border=\"0\"><a/></nobr></td></tr>";
}
echo "</table>";
?>
Das zu diesem Bereich.
Ich suche übrigens noch eine Möglichkeit, wie ich in einem Modul im Input ein Datenbankupdate schaffe. Folgende Idee als Hintergrund:
Ich lege einen Artikel an, wo mir dann ein Mitglied mit allen Daten angezeigt werden soll. Also soll im Inputbereich per Dropdownliste ein Mitglied ausgesucht werden. Dann möchte ich das diesem Mitglied die idcatart (die von Contenido vergeben wird) automatatisch zugeordnet wird. Also muss meine Mitgliedertabelle in der Datenbank um eine Tabelle (zum Beispiel idcatart) erweitert werden. Dann soll nach der Auswahl und einem Speichern Button ein Datenbankupdate stattfinden (UPDATE con_adressen SET idacatart ='$idcatart" WHERE id='$id'"; ).
Im Outputbereich brauche ich dann nur auf die Tabelle con_adresse zugreifen und abfragen, welche Mitglieder idcatart mit der idcatart von Contenido übereinstimmt.
Leider bekomme ich das nicht so hin.
Gruß donner_blitz