Es zeigt Adressdaten in tabellarischer Form mit verschiedenen Möglichkeiten der Sortierung (alphabetisch, Nachname, usw.).
Ein Anwendungsbeispiel findet sich hier:
http://www.wirtschaftsrat-erlangen.de/f ... p?idcat=18
Notwendig ist eine neue Tabelle con_adressen:
Code: Alles auswählen
CREATE TABLE `con_adressen` (
`id` INT NOT NULL AUTO_INCREMENT,
`Anrede` VARCHAR( 10 ) ,
`Titel` VARCHAR( 12 ) ,
`Vorname` VARCHAR( 40 ) ,
`Nachname` VARCHAR( 60 ) NOT NULL ,
`Strasse` VARCHAR( 40 ) ,
`PLZ` INT( 5 ) NOT NULL ,
`Ort` VARCHAR( 35 ) NOT NULL ,
`Mail` VARCHAR( 40 ) ,
`Webseite` VARCHAR( 40 ) ,
`aktiv` INT( 1 ) NOT NULL ,
`Beruf` VARCHAR( 80 ) ,
PRIMARY KEY ( `id` )
);
Modul besteht nur aus output, angepasst werden muss die idcatart des entsprechenden Artikels. Ansonsten wie üblich: Template erstellen, Artikel beruhend auf Template erstellen.
Output:
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
* 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
* 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
$idcatart = "48"; //idcatart des aktuellen Artikels
$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
//-----------------------
?>
<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></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></tr>\n";
}
echo "</table>";
?>
Hier schon mal ein screenshot von der Auswahlseite für die Editierung:
und hier für die Neueingabe:
Gruß Mc