Neues Modul: Mitgliederliste
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
Hier hilft es, eine Anzeige der slq Abfrage unmittelbar vor der Übergabe durchzuführen (echo "$sql";)
Oft kann man da schon den Fehler erkennen. Vielleicht ist eine der neuen Tabellen noch nicht richtig angelegt.
Anonsten einmal diese Abfrage direkt in PHPMYADMIN eingeben, dann erkennt man meistens genau die Fehlermeldung.
Viel Erfolg
Florian
Oft kann man da schon den Fehler erkennen. Vielleicht ist eine der neuen Tabellen noch nicht richtig angelegt.
Anonsten einmal diese Abfrage direkt in PHPMYADMIN eingeben, dann erkennt man meistens genau die Fehlermeldung.
Viel Erfolg
Florian
Hallo donner_blitz,
wie rufst du denn die Seite auf?
sollte in der Form sein:
http://www.deine-seite.de/front_content ... atedat=107
Dann wird der Datensatz mit der id=107 angezeigt.
Vorher muss du natürlich einen Artikel mit dem entsprechenden template/modul erstellen. Bei mir hat dieser Artikel die idart=76
DEie entsprechende Übersichtsseite muss ich noch liefern. Bin leider anderweitig ziemlich ausgelastet.
Gruß Mc
wie rufst du denn die Seite auf?
sollte in der Form sein:
http://www.deine-seite.de/front_content ... atedat=107
Dann wird der Datensatz mit der id=107 angezeigt.
Vorher muss du natürlich einen Artikel mit dem entsprechenden template/modul erstellen. Bei mir hat dieser Artikel die idart=76
DEie entsprechende Übersichtsseite muss ich noch liefern. Bin leider anderweitig ziemlich ausgelastet.
Gruß Mc
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
So, nachdem von dir diese Mitteilung geschrieben wurde, habe ich festgestellt, dass ich einen dicken Fehler begangen hatte. Diesen habe ich jetzt behoben und nun funktioniert alles. Besten Dank für die Denkanstösse.Mc hat geschrieben:Hallo donner_blitz,
wie rufst du denn die Seite auf?
sollte in der Form sein:
http://www.deine-seite.de/front_content ... atedat=107
Dann wird der Datensatz mit der id=107 angezeigt.
Vorher muss du natürlich einen Artikel mit dem entsprechenden template/modul erstellen. Bei mir hat dieser Artikel die idart=76
DEie entsprechende Übersichtsseite muss ich noch liefern. Bin leider anderweitig ziemlich ausgelastet.
Gruß Mc
Hier nun die Übersichtseite, damit mit einem Link auch der Datensatz geändert werden kann:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname: einfache Mitgliederliste - Datenausgabe
* Author(s): Mc
* Erstellt: 13-03-2006
* Modifiziert: 10.04.2006 $idcatart als Variable fuer Anpassung des Pfades
* Motifiziert: 09.04.2006 aktiv als Variable; alle Buchstaben des Alphabets werden angezeigt, nur die vorhandenen Anfangsbuchstaben bei den Nachnamen werden fuer die Auswahl verlinkt; feste Zellenbreite fuer die Tabelle; MouseOver bei Ueberfahren des Datensatzes
* Modifiziert: 15.05.2006 Autor: donner_blitz ==> $idcatart wird als Variable automatisch ausgelesen
* Beschreibung: Ausgabe von Adressdaten aus der Tabelle con_adressen (muss vorher neu angelegt werden) mit verschiedenen Sortier- und Auswahlmöglichkeiten
* Anpassung: Angepasst werden muss die idcatart des aktuellen Artikels in der Variablen $idcatart für den Link ÄNDERN
* Beispiel: http://www.wirtschaftsrat-erlangen.de/front_content.php?idcat=18
* ToDo: Verlinkung auf den vollständigen Datensatz; erfolgt im angegebenen Beispiel wegen des Datenschutzes nicht
************************************************/
//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'];
//-----------------------
?>
<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 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 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 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 FROM con_adressen WHERE aktiv=$aktiv ORDER BY Nachname");
}
// jeden Datensatz in einer Zeile anzeigen
echo "<table align="left" class="text" width="100%" cellspacing=1 cellpadding=2 bgcolor="#CCCCCC">";
echo "<tr><td bgcolor="#E2E2E2" width="190px"><b><a href ="".$pfad."&sort=Nachname&alpha=".$alpha."">Name</a>, Titel Vorname </b></td><td bgcolor="#E2E2E2" width="360px"><b><a href ="".$pfad."&sort=Beruf&alpha=".$alpha."">Beruf/Firma</a></b></td><td bgcolor="#E2E2E2" width="50px"><b><a href ="".$pfad."&sort=PLZ&alpha=".$alpha."">PLZ</a></b></td><td bgcolor="#E2E2E2" width="140px"><b><a href ="".$pfad."&sort=Ort&alpha=".$alpha."">Ort</a></b></td><td></td></tr>\n";
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"];
echo "<tr bgcolor="E2E2E2" onMouseOver=this.style.backgroundColor="#E2EDD7"; onMouseOut=this.style.backgroundColor="#E2E2E2"; valign="top"><td><nobr>" . $Nachname . ", " . $Titel . " " . $Vorname ."</nobr></td> <td>" . $Beruf ."</td><td>" . $PLZ ."</td><td>". $Ort . "</td><td> <a href="front_content.php?idcatart=100&updatedat=".$id."">Ändern</a></td>
</tr>\n";
}
echo "</table>";
?>
-
- Beiträge: 50
- Registriert: Di 22. Mär 2005, 13:55
- Wohnort: Aalen (Baden-Württ.)
- Kontaktdaten:
Funktion "Datensatz löschen"
Wenn ich's recht sehe, fehlt noch die Funktion "Datensatz löschen".
Ist da bereits schon jemand dran??
Ist da bereits schon jemand dran??
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Re: Funktion "Datensatz löschen"
JA und NEINtomkolb hat geschrieben:Wenn ich's recht sehe, fehlt noch die Funktion "Datensatz löschen".
Ist da bereits schon jemand dran??
Ich bin zwar angefangen, musste aber wieder aufhören, weil ich noch andere Dinge habe, die eine höhere Prioität haben.
Vielleicht ist MC ja dabei die Löschfunktion zu programmieren.
donner_blitz
Hier die Übersichtsseite, mit der Datensätze gelöscht werden können bzw. zum Editieren aufgerufen werden können.
@donner_blitz: Ich habe mögliche Unterschiede zu der von dir geposteten Version nicht überprüft (zeitlich etwas schwierig momentan)
Wie funktioniert denn das mit dem automatischen Auslesen der idcatart?
Gruß Mc
@donner_blitz: Ich habe mögliche Unterschiede zu der von dir geposteten Version nicht überprüft (zeitlich etwas schwierig momentan)
Wie funktioniert denn das mit dem automatischen Auslesen der idcatart?
Gruß Mc
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 ********************************/
$idcatart ="75";
$pfad = "front_content.php?idcatart=" . $idcatart;
$idcatartedit ="76";//idcatart des Editierartikels
/***** Ende Anpassungen *************************/
$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 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 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 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 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"];
echo "<tr bgcolor=\"#FFFFFF\"><td><nobr>" . $Nachname . ", " . $Titel . " " . $Vorname ."</nobr></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?idart=$idcatartedit&updatedat=$id\">editieren <img src=\"images/bild_edit.gif\" border=\"0\"><a/></nobr></td></tr>";
}
echo "</table>";
?>
Zuletzt geändert von Mc am Fr 19. Mai 2006, 16:43, insgesamt 2-mal geändert.
-
- Beiträge: 59
- Registriert: Di 14. Feb 2006, 15:06
- Kontaktdaten:
Mitgliederliste
hy all,
Das Modul ist erste klasse.
-------------------------------------------------------------------
Kann es sein, das im Ausgabe-Modul ein fehler ist??
Code-Alt:
//Anpassungen
$pfad = "front_content.php?idcatart=" . $idcatart;
//Anpassungen Ende
-------------------------------------------------------------------
Überarbeiteter Code:
//Anpassungen
$pfad = "front_content.php?idcatart=";
//Anpassungen Ende
-------------------------------------------------------------------
Durch das ". $idcatart" wurde die IDcatart zweimal vergeben. Dadurch funktionierten die Selektierfunktionen nicht, und ich wurde immer auf meine Startseite gelenkt.
Habe das Modul so angepasst, das ich Mail und Web-Adresse eingeben kann. Besteht die möglichkeit die Felder für Mail und Web-Adresse so zu ändern, das durch klick eine direkte Weiterleitung zum Mailprogramm oder zur Webseite entsteht??
Und wie kann ich dieses Modul mehrfach verwenden. Durch die Eingabe der "idcatart" bin ich an einer Eingabe und Ausgabe gebunden. Oder muss ich die Module so oft anlegen wie ich sie brauche??
Und noch ein Problem habe ich.
In der Ausgabe gibt es einen balken im Unteren Bereich.
Normalerweise rutscht er mit neuem Datensatz nach unten. Bei mir habe ich Ihn rechts neben dem Datensatz.
Kann mir jemand sagen, wo ich dies ändere??
In der css oder .html
Gruss
Michael
Das Modul ist erste klasse.
-------------------------------------------------------------------
Kann es sein, das im Ausgabe-Modul ein fehler ist??
Code-Alt:
//Anpassungen
$pfad = "front_content.php?idcatart=" . $idcatart;
//Anpassungen Ende
-------------------------------------------------------------------
Überarbeiteter Code:
//Anpassungen
$pfad = "front_content.php?idcatart=";
//Anpassungen Ende
-------------------------------------------------------------------
Durch das ". $idcatart" wurde die IDcatart zweimal vergeben. Dadurch funktionierten die Selektierfunktionen nicht, und ich wurde immer auf meine Startseite gelenkt.
Habe das Modul so angepasst, das ich Mail und Web-Adresse eingeben kann. Besteht die möglichkeit die Felder für Mail und Web-Adresse so zu ändern, das durch klick eine direkte Weiterleitung zum Mailprogramm oder zur Webseite entsteht??
Und wie kann ich dieses Modul mehrfach verwenden. Durch die Eingabe der "idcatart" bin ich an einer Eingabe und Ausgabe gebunden. Oder muss ich die Module so oft anlegen wie ich sie brauche??
Und noch ein Problem habe ich.
In der Ausgabe gibt es einen balken im Unteren Bereich.
Normalerweise rutscht er mit neuem Datensatz nach unten. Bei mir habe ich Ihn rechts neben dem Datensatz.
Kann mir jemand sagen, wo ich dies ändere??
In der css oder .html
Gruss
Michael
Contenido 4.6.15
PHP 4.4.1
MySQL 5.0.18
Host Domainfactory
Browser FireFox
PHP 4.4.1
MySQL 5.0.18
Host Domainfactory
Browser FireFox
Das mit der idcatart verstehe ich nicht. Bei mir läuft es unter IE6 und firefox.
Zur Mailadresse: <td><nobr><a href=\"mailto:". $Mail . "\">". $Mail ."</a></nobr></td>
Habe da zusätzlich 2 Module (Kommt in Kürze
Input schreiben. Habe ich noch nicht gemacht. Vielleicht hilft uns da ein Contenido-Experte.
Zwei tags waren nicht geschlossen. Ist ausgebessert. Hoffe, dass sonst keine weiteren Fehler.
Gruß Mc
Zur Mailadresse: <td><nobr><a href=\"mailto:". $Mail . "\">". $Mail ."</a></nobr></td>
Habe da zusätzlich 2 Module (Kommt in Kürze
Input schreiben. Habe ich noch nicht gemacht. Vielleicht hilft uns da ein Contenido-Experte.
Zwei tags waren nicht geschlossen. Ist ausgebessert. Hoffe, dass sonst keine weiteren Fehler.
Gruß Mc
-
- Beiträge: 59
- Registriert: Di 14. Feb 2006, 15:06
- Kontaktdaten:
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Habe das Modul nochmals angepasst.
In der Anpassung habe ich folgendes eingesetzt:
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:
Hier jetzt der gesamte Output:
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
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'];
//-----------------------
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>";
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>";
?>
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
Hallo donner_blitz,
vielen Dank für die Anpassungen.
Bei deinem Problem stehe ich irgendwie auf dem Schlauch.
Willst du wirklich für jedes Mitglied einen Artikel anlegen? Warum eigentlich? Rechtevergabe?
Soweit ich contenido kapiert habe, dient doch der input eines Moduls zur Konfiguration des entsprechenden tempaltes bzw. Artikels.
Gruß Mc
vielen Dank für die Anpassungen.
Bei deinem Problem stehe ich irgendwie auf dem Schlauch.
Willst du wirklich für jedes Mitglied einen Artikel anlegen? Warum eigentlich? Rechtevergabe?
Soweit ich contenido kapiert habe, dient doch der input eines Moduls zur Konfiguration des entsprechenden tempaltes bzw. Artikels.
Gruß Mc
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Eigentlich hast Du ja Recht. Doch ich möchte ein paar Abfragen einbauen können, und das setzt halt voraus, das für jedes Mitglied ein eigener Artikel angelegt wird.Mc hat geschrieben:Hallo donner_blitz,
vielen Dank für die Anpassungen.
Bei deinem Problem stehe ich irgendwie auf dem Schlauch.
Willst du wirklich für jedes Mitglied einen Artikel anlegen? Warum eigentlich? Rechtevergabe?
Soweit ich contenido kapiert habe, dient doch der input eines Moduls zur Konfiguration des entsprechenden tempaltes bzw. Artikels.
Gruß Mc
Für eine vereinfachte Darstellung reicht sicherlich ein Modul und ein Artikel.
gruß donner_blitz
zu deinem Problem:
idcatart des aktuellen Artikels auslesen (weiß nicht wie das geht)
aus con_adressen Namen und id des Mitglieds auslesen
Formular:
Namen in drop-down einbinden
Feld mit idcatart, value ist idcatart
dann an den entsprechenden Datensatz mit der id übergeben.
Vielleicht soltest du ein neues Thema aufmachen, sonst kommen wir durcheinander.
Gruß Mc
idcatart des aktuellen Artikels auslesen (weiß nicht wie das geht)
aus con_adressen Namen und id des Mitglieds auslesen
Formular:
Namen in drop-down einbinden
Feld mit idcatart, value ist idcatart
dann an den entsprechenden Datensatz mit der id übergeben.
Vielleicht soltest du ein neues Thema aufmachen, sonst kommen wir durcheinander.
Gruß Mc
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Ich weiss. Das ist eine ganz heftige Nummer. Also idcatart wird automatisch beim Anlegen eines Artikels vergeben. Das sehe ich also als das geringste Problem an. Das größte Problem ist eben die Sache mit dem Formular, dass im INPUT angelegt werden muss.Mc hat geschrieben:zu deinem Problem:
idcatart des aktuellen Artikels auslesen (weiß nicht wie das geht)
aus con_adressen Namen und id des Mitglieds auslesen
Formular:
Namen in drop-down einbinden
Feld mit idcatart, value ist idcatart
dann an den entsprechenden Datensatz mit der id übergeben.
Vielleicht soltest du ein neues Thema aufmachen, sonst kommen wir durcheinander.
Gruß Mc
Na ja. Vielleicht sollte ich das wirklich als eigenes Thema ansprechen.
Danke
donner_blitz
gruß donner_blitz
Jetzt kommt der dicke Hammer
Also ich verwende deine Mitgliederliste. Klappt auch ganz prima, aber jetzt kommt da ein kleines Prob.
Ich benutze das vpTransformationen Modul von Dodger77. Der passt dazu die front_content.php an einer Stelle an und fügt eine neue functions.transformations.php ein.
Wenn ich das mache, dann funktioniert der Aufruf der Mitgliederliste über das Frontend ( also /cms ) nicht mehr, sondern nur im Contenido.
Ich werde aber Dodger77 eine PM schreiben, was sich da beisst bei Euch.
Ich habe übrigens ein wenig an deinem Ausgabemodul gebastelt und es xhtml valide gemacht.
Ich benutze das vpTransformationen Modul von Dodger77. Der passt dazu die front_content.php an einer Stelle an und fügt eine neue functions.transformations.php ein.
Wenn ich das mache, dann funktioniert der Aufruf der Mitgliederliste über das Frontend ( also /cms ) nicht mehr, sondern nur im Contenido.
Ich werde aber Dodger77 eine PM schreiben, was sich da beisst bei Euch.
Ich habe übrigens ein wenig an deinem Ausgabemodul gebastelt und es xhtml valide gemacht.