YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Spalten sortieren, wie die Mitgliederliste » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 3.736 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Spalten sortieren, wie die Mitgliederliste
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

 Spalten sortieren, wie die Mitgliederliste Antworten Zitieren Editieren Melden       UP

Habe mir eine Tabelle gebastelt mit paar Spalten.

User Id, Username, E-Mail, Registrierdatum, letzte aktivität, Status (frei/gesperrt) usw.

Also fast wie die Mitgliederliste.

Es wird auch alles angezeigt.

Nur kann mir jemand zeigen wie ich die Spalten so sortieren kann wie es in der Mitgliederliste möglich ist.

Also Zeige XX Benutzer und Sortiere nach XX in XX Reihenfolge. Button


Hat jemand so etwas schon mal vorgefertigt?

Wollte das von der Mitgliederliste umbauen, aber bekomme ich leider nicht hin.

Ist viel zu viel.


Das Script fürs Template habe ich ja schon nur in der php Datei bekomme ich das nicht hin.

Es muss nichts mit Seitenzahlen sein.
Kann einfach so angezeigt werden auch wenn man Meterweit Scrollen muss.


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
 <tr>
  <td class="tableb" align="left" colspan="8"><span class="normalfont">Zeige <select name="letter">
 <option value="">alle</option>
 <option value="#">#</option><option value="A">A</option><option value="B">B</option><option value="C">C</option><option value="D">D</option><option value="E">E</option><option value="F">F</option><option value="G">G</option><option value="H">H</option><option value="I">I</option><option value="J">J</option><option value="K">K</option><option value="L">L</option><option value="M">M</option><option value="N">N</option><option value="O">O</option><option value="P">P</option><option value="Q">Q</option><option value="R">R</option><option value="S">S</option><option value="T">T</option><option value="U">U</option><option value="V">V</option><option value="W">W</option><option value="X">X</option><option value="Y">Y</option><option value="Z">Z</option>
</select> Benutzer und Sortiere nach <select name="sortby">
 <option value="userid">User ID</option><option value="username">Username</option><option value="email">E-Mail</option><option value="block" selected="selected">Status</option>
</select> in <select name="order">
 <option value="ASC">aufsteigender</option>
 <option value="DESC" selected="selected" >absteigender</option>
</select> Reihenfolge.
  <input src="images/go.gif" type="image" />
</span></td>
 </tr>

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Didito: 15.05.07 13:30.

15.05.07 13:16 Didito ist offline Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Der MySQL-Begriff hierzu nennt sich " ORDBER BY fieldname " (ASC oder DESC). Den kannst du nach dem bekannten Query einfügen.
15.05.07 14:04 [kamui] ist offline Finden Als Freund hinzufügen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

Habe das so hinbekommen wie bei der Mitgliederliste nun habe ich ein Problem bis auf User nach Buchstaben auflisten funktioniert alles.

Das heißt es funktioniert:

User suchen
Alle User
# User

A, B, C usw. funktioniert leider nicht. Kommt immer eine Fehlermeldung.

Könnte jemand mal meinen Quellcode ansehen und die if und die { } richtig setzen so das alles funktioniert.

Mein Quellcode:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
$adminuserid = 8;

if($wbbuserdata['userid'] == $adminuserid) {

	$showadmin = 1;

	list($alle_count) = $db->query_first("SELECT COUNT(*) FROM bb1_users");


         if (isset($_POST['do']) && $_POST['do'] == 'send') {
	$alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE username = '$suche'");
	}

         if (isset($_POST['auflisten']) && $_POST['auflisten'] == 'send') {
         if ($letter == "alle_user") $alle = $db->query("SELECT userid, username, email FROM bb1_users ORDER BY $sortby $order LIMIT 0,5000");
         }
         if ($letter == "#") $alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE SUBSTRING(username,1,1) NOT IN ('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') ORDER BY $sortby $order");
         }
         else $alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE SUBSTRING(username,1,1) = '$letter' ORDER BY $sortby $order");

	$kauz_a_trtd = '';

	while($einer = $db->fetch_array($alle)) {
         $kauz_a_trtd .= "<tr class=\"normalfont\">
           				       		<td class=\"tablea\" align=\"left\">".htmlconverter($einer['userid'])."</td>
	                     				<td class=\"tablea\" align=\"left\">".htmlconverter($einer['username'])."</td>
						 	<td class=\"tablea\" align=\"left\">".htmlconverter($einer['email'])."</td>
					   </tr>";
         }

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Didito: 16.05.07 01:39.

15.05.07 14:13 Didito ist offline Finden Als Freund hinzufügen
Rippe
Mitglied


Dabei seit: 03.10.05
Beiträge: 8
Forenversion: 2.2.2

Antworten Zitieren Editieren Melden       UP

Habe das Problem mit if und { } auch immer.

Bin mal gespannt wie es richtig ist.


Weiß das man mit } eine Funktion schließt aber nicht was in der Funktion alles drinne stehen muss. Also bei deinem Beispiel.

Mal gucken wenn jemand die Lösung dazu postet.
16.05.07 01:43 Rippe ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Didito, du rückst auch ein, wie es dir gerade gefällt fröhlich Heute nachmittag kann ich dir da versuchen weiterzuhelfen, muss jetzt los ...
16.05.07 06:58 [kamui] ist offline Finden Als Freund hinzufügen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

OK alles klar. Danke
16.05.07 14:32 Didito ist offline Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

So ist es schöner & einfacher zu lesen Augenzwinkern Ich hab mir erlaubt bei der while-Schleife etwas zu verändern, hoffe das stört dich nicht. Was genau ist jetzt das Problem bei diesem Code?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
$adminuserid = 8;

if($wbbuserdata['userid'] == $adminuserid) {
    $showadmin = 1;
    list($alle_count) = $db->query_first("SELECT COUNT(*) FROM bb1_users");

    if (isset($_POST['do']) && $_POST['do'] == 'send') {
        $alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE username = '$suche'");
    }
    
    if (isset($_POST['auflisten']) && $_POST['auflisten'] == 'send') {
        if ($letter == "alle_user") $alle = $db->query("SELECT userid, username, email FROM bb1_users ORDER BY $sortby $order LIMIT 0,5000");
    }
    if ($letter == "#") {
        $alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE SUBSTRING(username,1,1) NOT IN ('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') ORDER BY $sortby $order");
    } else $alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE SUBSTRING(username,1,1) = '$letter' ORDER BY $sortby $order");
    
    $kauz_a_trtd = '';
    
    while($einer = $db->fetch_array($alle)) {
        foreach ($einer as $key=>$value) {
            if (!is_array($key)) ${$key} = htmlconverter($value);
        }
        $kauz_a_trtd .= "<tr class=\"normalfont\">
           				       		<td class=\"tablea\" align=\"left\">{$userid}</td>
	                     				<td class=\"tablea\" align=\"left\">{$username}</td>
						 	<td class=\"tablea\" align=\"left\">{$email}</td>
					   </tr>";
    }
}
16.05.07 14:56 [kamui] ist offline Finden Als Freund hinzufügen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

An der Zeile soll was falsch sein.

Database error in WoltLab Burning Board (2.3.6): Invalid SQL: SELECT userid, username, email, password FROM bb1_users WHERE SUBSTRING(username,1,1) = '' ORDER BY
mysql error: 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 '' at line 1

code:
1:
2:
3:
} else $alle = $db->query("SELECT userid, username, email FROM bb1_users WHERE SUBSTRING(username,1,1) = '$letter' ORDER BY $sortby $order");

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Didito: 16.05.07 15:10.

16.05.07 15:10 Didito ist offline Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Laut Fehlerausgabe sind die Variablen in dem Query nicht definiert, sind sie das denn?
16.05.07 15:14 [kamui] ist offline Finden Als Freund hinzufügen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

Also im template steht doch bei dem Drop Down Menu

<select name="letter">
16.05.07 15:17 Didito ist offline Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

global_register = ON oder OFF? Probier mal alles mit der Superglobalen $_POST['var'].
16.05.07 15:35 [kamui] ist offline Finden Als Freund hinzufügen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

Habe alles hinbekommen.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Didito: 16.05.07 19:50.

16.05.07 15:41 Didito ist offline Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Spalten sortieren, wie die Mitgliederliste