Mitgliederliste mit Seitennavigation
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Mitgliederliste mit Seitennavigation
Hallo zusammen,
hat schon mal jemand versucht die Mitgliederliste so umzustricken, dass man zum Beispiel nach 20 Mitgliedern einen Seitenwechsel hat.
Es kann ja durchaus passieren, dass man 40 oder mehr Mitglieder in seiner Datenbank hat. Jetzt sollen aber pro Seite maximal 20 Mitglieder angezeigt werden.
Hat das jemand mit Seitenumbruch schon mal probiert und möglicherweise schon eine Lösung?
hat schon mal jemand versucht die Mitgliederliste so umzustricken, dass man zum Beispiel nach 20 Mitgliedern einen Seitenwechsel hat.
Es kann ja durchaus passieren, dass man 40 oder mehr Mitglieder in seiner Datenbank hat. Jetzt sollen aber pro Seite maximal 20 Mitglieder angezeigt werden.
Hat das jemand mit Seitenumbruch schon mal probiert und möglicherweise schon eine Lösung?
gruß donner_blitz
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Meinst du dieses Modul?
http://www.contenido.org/forum/viewtopi ... iederliste
Es könnte Sinn machen, in dem Thread selbst mal zu fragen. Aber bisher hat zumindest keiner etwas in der Art veröffentlicht.
http://www.contenido.org/forum/viewtopi ... iederliste
Es könnte Sinn machen, in dem Thread selbst mal zu fragen. Aber bisher hat zumindest keiner etwas in der Art veröffentlicht.
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Danke für die schnelle Antwort
Da sollte übrigens auch die Frage rein. Nur habe ich versehentlich auf NEW TOPIC geklickt und geschrieben statt auf QUOTE.
Ist das möglich dass man die Frage dorthin verschiebt?
Ist das möglich dass man die Frage dorthin verschiebt?
Dodger77 hat geschrieben:Meinst du dieses Modul?
http://www.contenido.org/forum/viewtopi ... iederliste
Es könnte Sinn machen, in dem Thread selbst mal zu fragen. Aber bisher hat zumindest keiner etwas in der Art veröffentlicht.
gruß donner_blitz
-
- Beiträge: 503
- Registriert: Do 6. Apr 2006, 01:40
- Kontaktdaten:
Das habe ich auch hier aus dem Bord
Input
im output folgendes einfügen bzw. ändern
Ganz oben einfügen
in die Datenbankabfrage einfügen
nach der Bildschirmausgabe einfügen
Input
Code: Alles auswählen
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr class=\"text_medium\">
<td>Datensätze pro Seite</td>
<td><input type=\"text\" name=\"CMS_VAR[0]\" value=\"CMS_VALUE[0]\" size=\"2\"/></td>
</tr>";
echo"</table>";
Ganz oben einfügen
Code: Alles auswählen
// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = $CMS_VALUE[0];
// Ggf. $start korrigieren (falls Parameter in der URL manipuliert wurde)
$start = ($start >= $total) ? $total - $limit : $start;
Code: Alles auswählen
ORDER BY $sort, Nachname
LIMIT '.$start.','.$limit.' ");
Code: Alles auswählen
// Zurück- und Vorblättern
if ($start > 0)
{
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
echo "<a href=front_content.php/?idcat=".$idcat."&start=".$newStart
."><< zurück</a>";
}
if ($start + $limit < $total)
{
$newStart = $start + $limit;
echo " <a href=front_content.php/?idcat=".$idcat."&start=".$newStart
.">vor >></a>";
}
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Danke für die Antwort
Danke für die Info, aber irgendwie scheine ich wohl ein bisschen blöd zu sein. Es funktioniert überhaupt nicht. Das mit dem $start usw. passst nicht zusammen.
Gibt es das Modul als komplettes Modul zum downloaden?
Ich glaube das wäre dann für mich einfacher. Denn irgendwie blicke ich durch den Code nicht mehr durch.
Gibt es das Modul als komplettes Modul zum downloaden?
Ich glaube das wäre dann für mich einfacher. Denn irgendwie blicke ich durch den Code nicht mehr durch.
php0815 hat geschrieben:Das habe ich auch hier aus dem Bord
Inputim output folgendes einfügen bzw. ändernCode: Alles auswählen
echo "<table cellspacing="0" cellpadding="10" border="0"> <tr class="text_medium"> <td>Datensätze pro Seite</td> <td><input type="text" name="CMS_VAR[0]" value="CMS_VALUE[0]" size="2"/></td> </tr>"; echo"</table>";
Ganz oben einfügenin die Datenbankabfrage einfügenCode: Alles auswählen
// Datendefinition für die Clientausgabe $start = (isset($start)) ? abs((int)$start) : 0; $limit = $CMS_VALUE[0]; // Ggf. $start korrigieren (falls Parameter in der URL manipuliert wurde) $start = ($start >= $total) ? $total - $limit : $start;
nach der Bildschirmausgabe einfügenCode: Alles auswählen
ORDER BY $sort, Nachname LIMIT '.$start.','.$limit.' ");
Code: Alles auswählen
// Zurück- und Vorblättern if ($start > 0) { $newStart = ($start - $limit < 0) ? 0 : ($start-$limit); echo "<a href=front_content.php/?idcat=".$idcat."&start=".$newStart ."><< zurück</a>"; } if ($start + $limit < $total) { $newStart = $start + $limit; echo " <a href=front_content.php/?idcat=".$idcat."&start=".$newStart .">vor >></a>"; }
gruß donner_blitz
Hatte gerade meine soziale Stunde und habe es dir eingebaut auf eigene Gefahr, habe es nicht getestet.
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
************************************************/
// Anzahl der Datensätze auslesen
$resultsum = @mysql_query("SELECT Count(id) FROM con_adressen WHERE aktiv=$aktiv");
while ( $row = mysql_fetch_array($resultsum) ) {
$total= $row["Count(id)"];
}
// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = $CMS_VALUE[0];
// Ggf. $start korrigieren (falls Parameter in der URL manipuliert wurde)
$start = ($start >= $total) ? $total - $limit : $start;
//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 LIMIT '$start','$limit'");
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 LIMIT '$start','$limit'");
}
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 LIMIT '$start','$limit'");
}
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 LIMIT '$start','$limit'");
}
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>";
// Zurück- und Vorblättern
if ($start > 0)
{
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
echo "<a href=front_content.php/?idcat=".$idcat."&start=".$newStart
."><< zurück</a>";
}
if ($start + $limit < $total)
{
$newStart = $start + $limit;
echo " <a href=front_content.php/?idcat=".$idcat."&start=".$newStart
.">vor >></a>";
}
?>
Zuletzt geändert von php0815 am So 8. Okt 2006, 17:34, insgesamt 1-mal geändert.
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Fehler in der Ausführung
Danke zunächst mal, aber leider taucht da ein Fehler bei der Ausführung auf.
Die Anzahlübergabe funktioniert wohl. Aber es wird statt der Liste halt dieser Fehler angezeigt. Woran kann das liegen?
Code: Alles auswählen
Fehler bei der Ausführung der Abfrage: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''.-10.','.10.'' at line 1
gruß donner_blitz
an den punkten in den sql statements. nimm mal in allen sql statements die punkte da raus (denn die resultieren noch aus ner anderen schreibweise):
das muss so lauten
Code: Alles auswählen
'.$start.','.$limit.'");
Code: Alles auswählen
'$start','$limit'");
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Immer noch Fehler
Ich habe die Punkte rausgenommen, aber der Fehler erscheint immer noch.
Kann das sein das der Fehler im folgenden Code steckt?
Ich bin da ein wenig ratlos, denn der Befehl mit dem ? ist mir noch nicht geläufig. Davon habe ich noch nichts gehört oder gelesen.
Code: Alles auswählen
Fehler bei der Ausführung der Abfrage: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''-10','10'' at line 1
Code: Alles auswählen
// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = $CMS_VALUE[0];
// Ggf. $start korrigieren (falls Parameter in der URL manipuliert wurde)
$start = ($start >= $total) ? $total - $limit : $start;
gruß donner_blitz
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: Immer noch Fehler
Dann lies mal hier:donner_blitz hat geschrieben:Ich bin da ein wenig ratlos, denn der Befehl mit dem ? ist mir noch nicht geläufig. Davon habe ich noch nichts gehört oder gelesen.
http://de3.php.net/manual/de/language.o ... arison.php
-
- Beiträge: 103
- Registriert: Mi 28. Sep 2005, 08:50
- Kontaktdaten:
Re: Immer noch Fehler
OK. Soweit glaube ich habe ich es verstanden. Ich denke dass ich den Fehler entdeckt habe aber nicht weiss wie ich es korrigieren muss. In dem Code
wird mit der Variablen $total gerechnet. Nur wird diese Variable nirgends definiert, bzw. wird nirgends errechnet.
Wie also kann das jetzt berechnet werden?
Code: Alles auswählen
// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = $CMS_VALUE[0];
// Ggf. $start korrigieren (falls Parameter in der URL manipuliert wurde)
$start = ($start >= $total) ? $total - $limit : $start;
Wie also kann das jetzt berechnet werden?
gruß donner_blitz
Weis nicht ob das richtig ist aber ich habe das vergessen mit rein zu machen
bin nicht der php Guru hoffe der Code stimmt 
habe es oben abgeändert

Code: Alles auswählen
$resultsum = @mysql_query("SELECT Count(id) FROM con_adressen WHERE aktiv=$aktiv");
while ( $row = mysql_fetch_array($resultsum) ) {
$total= $row["Count(id)"];
}

habe es oben abgeändert