ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Userliste erweitern

Geschlossen
  1. #1
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    Hallo,

    ich habe LordSchirmer schon die ganze Zeit per Pm seine Zeit gestohlen was nicht sein muss :-)

    Ich wollte gerne die Userliste um Daten wie Alter, Anzahl Topics, Anzahl Beiträge usw. erweitern. Da ich aber Leihe bin wollte ich fragen wie ich die Daten da eintragen/ abfragen kann.

    Kann mir da jemand bitte genau sagen wie das geht? In der Dokumentation habe ich dazu nichts gefunden was hilft.



    Grüße


    verwendete ilchClan Version: 1.1 P
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Das alter steht ja mit in der user tabelle und kann man ja leicht auslesen.

    Themen und beitraege kann man ja mit count und where id = userid aus der tabelle posts auslesen
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    ZitatZitat geschrieben von Siggi

    Das alter steht ja mit in der user tabelle und kann man ja leicht auslesen.

    Themen und beitraege kann man ja mit count und where id = userid aus der tabelle posts auslesen


    Auslesen schön und gut. Gefunden habe ich ja eigentlich fast alles was ich will, nur frage ich mich wie ich die Sachen immer eintragen muss damit auch die Daten angezeigt werden.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    kann ich heute mittag nach feierabend mehr zu sagen Heute musste ich frueh raus und war bzw bin nur mit handy on zwinker
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Was genau möchtest du den wissen? Wie man im allgemeinen Daten aus der Datenbank abfragt?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    ZitatZitat geschrieben von -saarlonz-

    Was genau möchtest du den wissen? Wie man im allgemeinen Daten aus der Datenbank abfragt?



    Ja genau!

    Da ich da ein Leie bin blicke ich da nicht wirklich durch.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Poste mal deine memb_list.php und am besten einen Link zu der betroffenen Seite, ich denke so kann man dir am besten helfen.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    ZitatZitat geschrieben von CaptainJack

    Auslesen schön und gut. Gefunden habe ich ja eigentlich fast alles was ich will, nur frage ich mich wie ich die Sachen immer eintragen muss damit auch die Daten angezeigt werden.

    Naja also wenn Du in der html das Alter z.Bsp. per {ALTER} ausgeben willst,
    muß die php folgendermaßen aussehen:
    $abf = "SELECT age FROM `prefix_user` WHERE id = ".$uid;
    $erg = db_query($abf);
    while ($row = db_fetch_assoc($erg)) {
    	$row['ALTER'] = $row['age'];
    }

    Die Variablen sind natürlich frei wählbar zwinker


    Zuletzt modifiziert von Outi77 am 16.10.2013 - 11:02:24
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Was so aber nicht funktionieren würde zwinker

    1. 'age' gibt es in der Datenbank nicht, dort heißt es 'gebdatum'!

    2. 'gebdatum' wird mit dem Typ date gespeichert, sprich würde er bei deiner Variante 0000-00-00 ausgegeben bekommen und nicht das Alter an sich.


    Zuletzt modifiziert von -saarlonz- am 16.10.2013 - 11:07:55
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    ZitatZitat geschrieben von -saarlonz-

    Poste mal deine memb_list.php und am besten einen Link zu der betroffenen Seite, ich denke so kann man dir am besten helfen.



    Hier mal die php

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: User :: '.$lang['listofmembers'];
    $hmenu = $extented_forum_menu.'User <b> &raquo; </b> '.$lang['listofmembers'].$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    $limit = 20;  // Limit
    
    
    $tpl = new tpl ( 'user/memb_list.htm' );
    
    if($menu->exists('filtername')){
      $page = ($menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
      $filtername = escape($menu->get(2), 'string');
    }else{
      $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    }
    
    $anfang = ($page - 1) * $limit;
    
    $tpl = new tpl ( 'user/memb_list.htm' );
    
    if(isset($_GET['filtername']) AND !empty($_GET['filtername'])){
      $filtername = escape($_GET['filtername'], 'string');
    }
    
    if(!empty($filtername)){
      $sql_search=" WHERE prefix_user.name LIKE '%".$filtername."%'";
      $MPL = db_make_sites ($page , $sql_search , $limit , '?user-filtername-'.$filtername , 'user' );
    }else{
      $sql_search="";
      $MPL = db_make_sites ($page , "" , $limit , '?user' , 'user' );
    }
    
    $tpl->set_out ( 'SITELINK', $MPL, 0);
    
    $class = '';
    $erg = db_query("SELECT posts,
                            prefix_user.id,
                            prefix_grundrechte.name as recht_name,
                            regist,
                            geschlecht,
                            prefix_user.name
                     FROM prefix_user
                     LEFT JOIN prefix_grundrechte ON prefix_user.recht = prefix_grundrechte.id
                     $sql_search
                     ORDER by recht,prefix_user.posts DESC LIMIT ".$anfang.",".$limit);
     
    while ($row = db_fetch_object($erg)) {
        if ($class == 'Cmite') { $class = 'Cnorm'; } else { $class = 'Cmite'; }
        $sexarray = array ( 0 => 'keine Angabe', 1 => 'm&auml;nnlich', 2 => 'weiblich' );
        $ar = array (   'NAME' => $row->name,
                        'RANG' => userrang($row->posts,$row->id),
                        'CLASS' => $class,
                        'POSTS' => $row->posts,
                        'UID'   => $row->id,
                        'DATE' => date('d.m.Y',$row->regist),
                        'GRUPE' => $row->recht_name,
                        'SEX'   => $sexarray[$row->geschlecht]
        );
        $tpl->set_ar_out($ar,1);
    }
    $tpl->set_out('filtername',$filtername ? $filtername : '',2);
    
    $design->footer();
    ?>



    Und hier die Testseite wo ich etwas bastel:

    uni-sols.de/index.php?user

    Das jetzige aussehen der Userliste habe ich nur in der user Template geänder. Daher net wundern das es evtl. etwas komisch aussieht.


    Zuletzt modifiziert von CaptainJack am 16.10.2013 - 11:14:35
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
     
     
    defined ('main') or die ( 'no direct access' );
    
    function get_age($birth_date){
     return floor((time() - strtotime($birth_date))/31556926);
     }
     
    $title = $allgAr['title'].' :: User :: '.$lang['listofmembers'];
    $hmenu = $extented_forum_menu.'User <b> &raquo; </b> '.$lang['listofmembers'].$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
     
    $limit = 20;  // Limit
     
     
    $tpl = new tpl ( 'user/memb_list.htm' );
     
    if($menu->exists('filtername')){
      $page = ($menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
      $filtername = escape($menu->get(2), 'string');
    }else{
      $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    }
     
    $anfang = ($page - 1) * $limit;
     
    $tpl = new tpl ( 'user/memb_list.htm' );
     
    if(isset($_GET['filtername']) AND !empty($_GET['filtername'])){
      $filtername = escape($_GET['filtername'], 'string');
    }
     
    if(!empty($filtername)){
      $sql_search=" WHERE prefix_user.name LIKE '%".$filtername."%'";
      $MPL = db_make_sites ($page , $sql_search , $limit , '?user-filtername-'.$filtername , 'user' );
    }else{
      $sql_search="";
      $MPL = db_make_sites ($page , "" , $limit , '?user' , 'user' );
    }
     
    $tpl->set_out ( 'SITELINK', $MPL, 0);
     
    $class = '';
    $erg = db_query("SELECT posts,
                            prefix_user.id,
                            prefix_grundrechte.name as recht_name,
                            regist,
                            geschlecht,
    						gebdatum,
                            prefix_user.name
                     FROM prefix_user
                     LEFT JOIN prefix_grundrechte ON prefix_user.recht = prefix_grundrechte.id
                     $sql_search
                     ORDER by recht,prefix_user.posts DESC LIMIT ".$anfang.",".$limit);
      
    while ($row = db_fetch_object($erg)) {
        if ($class == 'Cmite') { $class = 'Cnorm'; } else { $class = 'Cmite'; }
        $sexarray = array ( 0 => 'keine Angabe', 1 => 'm&auml;nnlich', 2 => 'weiblich' );
        $ar = array (   'NAME' => $row->name,
                        'RANG' => userrang($row->posts,$row->id),
                        'CLASS' => $class,
                        'POSTS' => $row->posts,
                        'UID'   => $row->id,
                        'DATE' => date('d.m.Y',$row->regist),
                        'GRUPE' => $row->recht_name,
                        'SEX'   => $sexarray[$row->geschlecht],
    		    'ALTER'   => get_age([$row->gebdatum])
        );
        $tpl->set_ar_out($ar,1);
    }
    $tpl->set_out('filtername',$filtername ? $filtername : '',2);
     
    $design->footer();
    ?>


    Versuche es mal so. Jetzt musst du nur noch in deiner memb_list.htm das Alter mit {ALTER} ausgeben. hab es aber nicht getestet.

    EDIT
    Die Funktion aus Zeile 8 kannst du dann entfernen und in derner include/includes/func/user.php einfügen. Dann kannst du in andern Datein auch darauf zugreifen.

    mfg corian


    Zuletzt modifiziert von corian am 16.10.2013 - 11:33:46
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    ZitatZitat geschrieben von -saarlonz-

    Was so aber nicht funktionieren würde zwinker

    1. 'age' gibt es in der Datenbank nicht, dort heißt es 'gebdatum'!

    2. 'gebdatum' wird mit dem Typ date gespeichert, sprich würde er bei deiner Variante 0000-00-00 ausgegeben bekommen und nicht das Alter an sich.


    Zuletzt modifiziert von -saarlonz- am 16.10.2013 - 11:07:55

    'Tschuldigung, das war auch für den Fall, dass er age in der DB vorhanden hat zwinker


    Zuletzt modifiziert von Outi77 am 16.10.2013 - 11:35:31
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    Corian wenn ich deine Datei hochlade und in der entsprechenden htm ALTER angebe kommt diese Meldung:

    Parse error: syntax error, unexpected '[', expecting ')' in /var/www/XXX/html/include/contents/user/memb_list.php on line 71

    Wie kann ich denn meinen Avatar usw. angeben/ anzeigen lassen? Kann man auch eigene Felder wie z.B. Lieblingsgame, Film usw. anzeigen lassen?
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    'ALTER' => get_age([$row->gebdatum])

    zu

    'ALTER' => get_age($row->gebdatum)
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Danke Lord, das hatte ich wohl über sehen.Aber dann sollte es funktionieren.
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    habe ich gemacht, docch es wird mir das Jahr 2013 angezeigt:

    uni-sols.de/index.php?user

    ZitatZitat geschrieben von Lord|Schirmer

    'ALTER' => get_age([$row->gebdatum])

    zu

    'ALTER' => get_age($row->gebdatum)
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Hast du auch dein Geburtsdatum in deinem profil eingetragen ?
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    hehe mein Fehler. Geht jetzt!

    Nur ist es doch blöd das wenn man sein Geb Datum nicht angibt da das Jahr 2013 oder so steht.


    Die andere Frage die sich mir stellt ist wann ich was wie in der php und htm der meb List angeben muss damit diejenigen Infos angezeigt werden die ich habe will.


    ZitatZitat geschrieben von corian

    Hast du auch dein Geburtsdatum in deinem profil eingetragen ?



    Zuletzt modifiziert von CaptainJack am 16.10.2013 - 22:44:41
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Du könntest die funktion auch so abändern

    function get_age($birth_date){
    if ($birth_date == '0000-00-00') {
     return '';
     }else{
     return floor((time() - strtotime($birth_date))/31556926);
     }
    }


    Wenn jetzt ein User nichts angegeben hat, wird auch nichts angezeigt.
    Versuch es einfachmal und geb mir ein feedback lächeln


    ZitatZitat geschrieben von CaptainJack


    Die andere Frage die sich mir stellt ist wann ich was wie in der php und htm der meb List angeben muss damit diejenigen Infos angezeigt werden die ich habe will.



    Die Frage verstehe ich nicht ganz?? sry zunge
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    Ich habe in der mysql User--> Spalten mehrere Ids und bei user / groupusers ja auch und würde da gerne wissen wie ich die einzelnen Daten in der memb list abrufen kann.
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Vielleicht solltest du dein Anliegen mal Grund auf neu Schildern, wir scheinen hier doch aneinender vorbei zu reden. Ich kann mir in etwa vorstellen was du möchtest, dazu solltest du dir mal die php Funktionen WHERE und LEFT JOIN ansehen.

    WHERE

    LEFT JOIN
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    CaptainJack Mitglied
    Registriert seit
    11.02.2010
    Beiträge
    519
    Beitragswertungen
    2 Beitragspunkte
    Hi,

    also es soll ungefähr so aussehen:

    team-level6.de/index.php?site=members

    Sprich 2 Spalten mit kurzen Infos (Name, Position, Alter, Threads und Beiträge). Dann ein Button (Alle Infos) worüber ich dann zu den Userdetails gelangen kann.

    Die Seite Userdetails will ich mir dann sobald die Useransicht fertig ist gestalten und der Hauptansicht anpassen.


    Grüße
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten