#SHADOW
Mitglied
Dabei seit: 23.08.11
Beiträge: 57
|
|
Morgen
Ich hab mal wieder eine Frage und zwar versuche ich seit etwas längerem in eine Liste eine Alphabet, rein zubekommen doch klappt das irgendwie nicht.
Nur leider bekomme ich es nicht so hin wie es sein soll. Es sollen alle User die mit A anfangen zusammen gepackt werden dann alle mit B und so weiter doch sieht es bei mir so aus wie im Screen. Ich hoffe man kan nwas drauf sehen. Und es wird mir überall nur das Z angezeigt statt A,B,C .....
Mein Code:
php: |
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:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
|
$filename="liste.php";
require("./global.php");
if(isset($_GET['sortby'])) $sortby=$_GET['sortby'];
else $sortby="username";
if(isset($_GET['order'])) $order=$_GET['order'];
else $order="ASC";
$limit = 200;
$checktable=$db->query_first("SELECT COUNT(*) FROM bb".$n."_users WHERE activation=1");
if(isset($_GET['page'])) {
$page=intval($_GET['page']);
if($page==0) $page=1;
}
else $page=1;
$pages = ceil($checktable[0]/$limit);
if($pages>1) $pagelink=makepagelink("liste.php?order=$order&sortby=$sortby&sid=$session[hash]",$page,$pages,$showpagelinks-1);
$alphabet = array();
//Alle Großbuchstaben des Alphabets in das Array holen
for($i=65; $i < 91; $i++) {
$alphabet[] = chr($i);
}
foreach($alphabet AS $buchstabe){
$listebit =" ";
$get_entries = $db->query("SELECT userid, username, avatarid, groupid, liste_status, liste_grund, liste_info FROM bb".$n."_users ORDER BY $sortby $order LIMIT ".($limit*($page-1)).",".$limit);
while ($row=$db->fetch_array($get_entries)){
if(!$row['liste_status']) eval ("\$row[liste_status] = \"".$tpl->get("liste_nodatum")."\";");
if(!$row['liste_grund']) eval ("\$row[liste_grund] = \"".$tpl->get("liste_nogrund")."\";");
if(!$row['liste_info']) eval ("\$row[liste_info] = \"".$tpl->get("liste_noinfo")."\";");
/*UserOnline Hover-Ava*/
$showava="";
$avaqry = $db->query_first("SELECT * FROM bb".$n."_avatars WHERE avatarid='$row[avatarid]'");
if($avaqry['avatarid'] && $showavatar==1 && $wbbuserdata['userid']>0) {
$showava=" onMouseOver=\"return overlib('<img src=images/avatars/avatar-$avaqry[avatarid].$avaqry[avatarextension] width=120 height=200>',RIGHT,ol_fgcolor='{tabletitlecolor}',ol_bgcolor='{tableinbordercolor}',ol_width='$avaqry 50px');\" onMouseOut=\"return nd();\"";
}
eval ("\$listebit.= \"".$tpl->get("liste_bit")."\";");
}
}
eval("\$tpl->output(\"".$tpl->get("liste")."\");"); |
|
Mein Template
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
<tr bgcolor="{tabletitlecolor}" id="tabletitle">
<td width="{tableinwidth}" align="center" colspan="2"><span style="font-size:10pt">$buchstabe</span></td>
</tr>
<tr>
<td bgcolor="{tablecolora}"><smallfont><a href="profile.php?userid=$row[userid]" $showava>$row[username]</a></font></td>
<td bgcolor="{tablecolorb}"><smallfont>$row[liste_status]</font></td>
<td bgcolor="{tablecolora}"><smallfont>$row[liste_grund]</font></td>
<td bgcolor="{tablecolorb}"><smallfont>$row[liste_info]</font></td>
</tr>
|
|
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
<table cellpadding=4 cellspacing=1 border=0 width="98%" bgcolor="{tableinbordercolor}">
<tr bgcolor="{tabletitlecolor}" id="tabletitle" align="center"><td colspan="8"><normalfont><b>Aktuelle liste</b></font></td></tr>
<tr bgcolor="{tabletitlecolor}" id="tabletitle" align="center">
<td><smallfont color="{fontcolorsecond}"><b>Benutzername</b></font></td>
<td><smallfont color="{fontcolorsecond}"><b>Eintrags Datum</b></td>
<td><smallfont color="{fontcolorsecond}"><b>Grund</b></td>
<td><smallfont color="{fontcolorsecond}"><b>Rückmeldung</b></td>
</tr>
$blacklistebit
</table>
<table align="center">
<tr>
<td><smallfont>$pagelink</font></td>
</tr>
</table> |
|
Über Hilfe würde ich mich sher freuen
LG
__________________ Liebe Grüße
#Shadow
|
|
28.11.11 01:15 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Schrimm
Banned
Dabei seit: 21.08.11
Beiträge: 700
|
|
Hallo,
Was meinst du mit der Gruppierung?
Die Sortierung scheint doch ok.
Die Anzeige von "Z" liegt an der "while"-Schleife innerhalb der "foreach"-Schleife und der Initialisierung von "$listebit =" ";" bei jedem "foreach"-Schleifendurchgang.
Dadurch wird dir nur der "letzte Buchstabe" der Schleife, also "Z" angezeigt und dazu eben alle User, die deiner Abfrage entsprechen, unabhängig von ihren Anfangsbuchstaben.
Du müsstest dazu in die SQL-Abfrage, innerhalb der foreach-Schleife, eine "Like"-Condition hinzufügen, die dir gewährleistet, dass auch nur Personen aufgerufen werden, die mit diesem Anfangsbuchstaben beginnen und die Initialisierung von "$listebit" anders definieren.
Eventuell so "$listebit .=" "?!
edit:
Welches der letzten beiden Codes ist welches Template?
Wo wird $blacklistebit definiert?
Dieser Beitrag wurde 6 mal editiert, zum letzten Mal von Schrimm: 28.11.11 01:51.
|
|
28.11.11 01:32 |
Finden
Als Freund hinzufügen
|
|
#SHADOW
Mitglied
Dabei seit: 23.08.11
Beiträge: 57
Themenstarter
|
|
Hey, ich wollte die Liste erst Blackliste nennen habe mich dann aber doch für Liste entschieden da habe ich wohl vergessen was raus zu löschen.
Danke für deine Antwort ich werde es mal versuchen ob ich es jetzt hinbekomme
__________________ Liebe Grüße
#Shadow
|
|
30.11.11 23:43 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|