Spalten sortieren, wie die Mitgliederliste |
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
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 |
Finden
Als Freund hinzufügen
|
|
Didito
Mitglied
Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi Forenversion: 2.3
Themenstarter
|
|
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 |
Finden
Als Freund hinzufügen
|
|
Rippe
Mitglied
Dabei seit: 03.10.05
Beiträge: 8
Forenversion: 2.2.2
|
|
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 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
Didito, du rückst auch ein, wie es dir gerade gefällt
Heute nachmittag kann ich dir da versuchen weiterzuhelfen, muss jetzt los ...
|
|
16.05.07 06:58 |
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
So ist es schöner & einfacher zu lesen
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 |
Finden
Als Freund hinzufügen
|
|
Didito
Mitglied
Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi Forenversion: 2.3
Themenstarter
|
|
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 |
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
Laut Fehlerausgabe sind die Variablen in dem Query nicht definiert, sind sie das denn?
|
|
16.05.07 15:14 |
Finden
Als Freund hinzufügen
|
|
Didito
Mitglied
Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi Forenversion: 2.3
Themenstarter
|
|
Also im template steht doch bei dem Drop Down Menu
<select name="letter">
|
|
16.05.07 15:17 |
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
global_register = ON oder OFF? Probier mal alles mit der Superglobalen $_POST['var'].
|
|
16.05.07 15:35 |
Finden
Als Freund hinzufügen
|
|
|