Neues Modul: Mitgliederliste

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Fr 12. Mai 2006, 08:55

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

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Fr 12. Mai 2006, 15:59

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

donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Beitrag von donner_blitz » Mo 15. Mai 2006, 10:43

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
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.

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&uuml;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."&nbsp;&nbsp;";
}
?>

      <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>&nbsp;&nbsp;&nbsp;<a href="front_content.php?idcatart=100&updatedat=".$id."">Ändern</a></td>

</tr>\n";
}

echo "</table>";

?>
Gruß donner_blitz

tomkolb
Beiträge: 50
Registriert: Di 22. Mär 2005, 13:55
Wohnort: Aalen (Baden-Württ.)
Kontaktdaten:

Funktion "Datensatz löschen"

Beitrag von tomkolb » Mi 17. Mai 2006, 15:48

Wenn ich's recht sehe, fehlt noch die Funktion "Datensatz löschen".
Ist da bereits schon jemand dran??

donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Re: Funktion "Datensatz löschen"

Beitrag von donner_blitz » Mi 17. Mai 2006, 16:01

tomkolb hat geschrieben:Wenn ich's recht sehe, fehlt noch die Funktion "Datensatz löschen".
Ist da bereits schon jemand dran??
JA und NEIN

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

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Mi 17. Mai 2006, 16:26

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

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&ouml;scht.</p>");
       } 
      else {
        echo("<p>Fehler beim L&ouml;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&auml;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&uuml;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."&nbsp;&nbsp;";
}
?>
      
      <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 &nbsp;</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&ouml;scht werden?');\">l&ouml;schen &nbsp; <img src=\"images/bild_delete.gif\" border=\"0\"></a></nobr></td><td><nobr><a href=\"front_content.php?idart=$idcatartedit&updatedat=$id\">editieren &nbsp; <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.

7UPandDown
Beiträge: 59
Registriert: Di 14. Feb 2006, 15:06
Kontaktdaten:

Mitgliederliste

Beitrag von 7UPandDown » Fr 19. Mai 2006, 16:32

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
Contenido 4.6.15
PHP 4.4.1
MySQL 5.0.18
Host Domainfactory
Browser FireFox

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Fr 19. Mai 2006, 16:58

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

7UPandDown
Beiträge: 59
Registriert: Di 14. Feb 2006, 15:06
Kontaktdaten:

Beitrag von 7UPandDown » Fr 19. Mai 2006, 17:18

Hallo Mc,
Sorry habe gerade gesehen, das ich ja mit dem Ausgabe-Modul von donner_blitz Arbeite.
Gruss
Michael
Contenido 4.6.15
PHP 4.4.1
MySQL 5.0.18
Host Domainfactory
Browser FireFox

donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Beitrag von donner_blitz » Fr 19. Mai 2006, 18:16

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&ouml;scht werden?');\">l&ouml;schen &nbsp; <img src=\"images/bild_delete.gif\" border=\"0\"></a></nobr></td><td><nobr><a href=\"front_content.php?idcatart=100&updatedat=$id\">editieren &nbsp; <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&ouml;scht.</p>"); 
       } 
      else { 
        echo("<p>Fehler beim L&ouml;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&auml;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&uuml;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."&nbsp;&nbsp;"; 
} 
?> 
      
      <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 &nbsp;</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&ouml;scht werden?');\">l&ouml;schen &nbsp; <img src=\"images/bild_delete.gif\" border=\"0\"></a></nobr></td><td><nobr><a href=\"front_content.php?idcatart=100&updatedat=$id\">editieren &nbsp; <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

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Fr 19. Mai 2006, 18:57

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

donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Beitrag von donner_blitz » Sa 20. Mai 2006, 09:11

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
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.

Für eine vereinfachte Darstellung reicht sicherlich ein Modul und ein Artikel.
gruß donner_blitz

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Sa 20. Mai 2006, 10:55

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

donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Beitrag von donner_blitz » Sa 20. Mai 2006, 13:35

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
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.

Na ja. Vielleicht sollte ich das wirklich als eigenes Thema ansprechen.

Danke

donner_blitz
gruß donner_blitz

apicalart
Beiträge: 161
Registriert: Fr 18. Mär 2005, 13:09
Wohnort: Linnich ( NRW )
Kontaktdaten:

Jetzt kommt der dicke Hammer

Beitrag von apicalart » Fr 26. Mai 2006, 18:06

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.
Dat gijjt et doch nit wirklich, odder !

Grüsse aus dem Rheinland
http://www.eukoba.de

Gesperrt