ilch Forum » Allgemein » HTML, PHP, SQL,... » Aufbau des Forums ändern

Geschlossen
  1. #1
    User Pic
    Sewomer Mitglied
    Registriert seit
    12.01.2007
    Beiträge
    411
    Beitragswertungen
    1 Beitragspunkte
    Hallo Leute,

    ich möchte meinen Aufbau des Forums ein wenig ändern und brauch dabei Hilfe weil ich mich zwar mit HTML auskenne, aber nicht so gut mit PHP.

    Ich will zum beispiel das man bei der Foren übersicht beim letzten Beitrag auch den Avatar in klein von dem User sieht.

    Damit die Seite weiß was Avatar ist und wo es liegt hab ich in der show_forum.php folgendes eingefügt:

      if (file_exists($row['avatar'])) { $row['avatar'] = '<br /><br /><img src="'.$row['avatar'].'" alt="User Pic" border="0" /><br />'; }
      elseif ($allgAr['forum_default_avatar']) { $row['avatar'] = '<br /><br /><img src="include/images/avatars/'.$ges_ar[$row['geschlecht']].'.jpg" alt="User Pic" border="0" /><br />'; }
      else { $row['avatar'] = ''; }


    Und in der Template datei showforum.htm hab ich eine extra tabelle eingefügt und folgendes draus gemacht:

        <td><table width="200" border="0">
          <tr>
            <td>{avatar}</td>
            <td><span class="smalfont"><a class="smalfont" title="{topicl}" href="index.php?forum-showposts-{tid}-p{page}#{pid}">{topic}</a> <br />
    {_lang_from}: {erst} </span> {datum}</td>
          </tr>
        </table></td>


    Es hat auch fast funktioniert, aber anstelle des Avatar bildes steht dort nur {avatar}. Wie sage ich denn der Seite jetzt was sie genau machen soll? Habe diese Daten alle aus der show_post.php und showpost.htm übernommen und übertragen.


    verwendete ilch Version: 1.1 P

    betroffene Homepage: externer Link
    =====================================================
    EldaCraft.de | Reallife RPG Minecraft-Server
    =====================================================
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Angelina Mitglied
    Registriert seit
    06.11.2011
    Beiträge
    127
    Beitragswertungen
    20 Beitragspunkte
    Schau mal hier externer Link
    www,angelina.de
    Ein Kavalier ist ein Mann, der sich den Geburtstag einer Frau merkt und ihr alter vergisst.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Sewomer Mitglied
    Registriert seit
    12.01.2007
    Beiträge
    411
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Angelina
    Schau mal hier externer Link



    So habe jetzt meine show_forum.php so angepasst wie es dort beschrieben ist also so (Man achte auf Zeile 46/47:

    <?php
     
    defined ('main') or die ( 'no direct access' );
      
    $title = $allgAr['title'].' :: Forum';
    $hmenu = $extented_forum_menu.'Forum'.$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
      
    if ($menu->get(1) == 'markallasread') {
      user_markallasread ();
    }
      
    $tpl = new tpl ( 'forum/showforum' );
    $tpl->out (0);
      
    $category_array = array();
    $forum_array = array();
      
    $q = "SELECT
      a.id, a.cid, a.name, a.besch,
      a.topics, a.posts, b.name as topic,
      c.id as pid, c.tid, b.rep, c.erst, c.time,
      a.cid, k.name as cname
    FROM prefix_forums a
      LEFT JOIN prefix_forumcats k ON k.id = a.cid
      LEFT JOIN prefix_posts c ON a.last_post_id = c.id
      LEFT JOIN prefix_topics b ON c.tid = b.id
      LEFT JOIN prefix_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = a.view
      LEFT JOIN prefix_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = a.reply
      LEFT JOIN prefix_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = a.start
          
    WHERE ((".$_SESSION['authright']." <= a.view AND a.view < 1)
       OR (".$_SESSION['authright']." <= a.reply AND a.reply < 1)
       OR (".$_SESSION['authright']." <= a.start AND a.start < 1)
         OR vg.fid IS NOT NULL
         OR rg.fid IS NOT NULL
         OR sg.fid IS NOT NULL
         OR -9 = ".$_SESSION['authright'].")
         AND k.cid = 0
    ORDER BY k.pos, a.pos";
    $erg1 = db_query($q);
    $xcid = 0;
    while ($r = db_fetch_assoc($erg1) ) {
     
      $ergava = @db_result(db_query('SELECT avatar FROM prefix_user WHERE name = "'.$r['erst'].'"'),0);
      $r['Avatar'] = (!empty($ergava) AND file_exists($ergava)) ? '<img src="'.$ergava.'" alt="Avatar" />' : '<img src="include/images/avatars/noavatar.jpg" />';
        
      $r['topicl'] = $r['topic'];
      $r['topic']  = html_enc_substr($r['topic'],0,30);
      $r['ORD']    = forum_get_ordner($r['time'],$r['id']);
      $r['mods']   = getmods($r['id']);
      $r['datum']  = date('d.m.y - H:i', $r['time']);
      $r['page']   = ceil ( ($r['rep']+1)  / $allgAr['Fpanz'] );
      $r['erst'] = forum_farbname($r['erst']);
       
      $tpl->set_ar ($r);
      
     
      if ($r['cid'] <> $xcid) {
        $tpl->out(1);
        //Unterkategorien
        $sql = db_query("SELECT DISTINCT a.name as cname, a.id as cid FROM `prefix_forumcats` a LEFT JOIN `prefix_forums` b ON a.id = b.cid WHERE a.cid = {$r['cid']} AND a.id = b.cid ORDER BY a.pos, a.name");
        while ($ucat = db_fetch_assoc($sql)) {
          $tpl->set_ar_out($ucat,2);
        }
        //Unterkategorien - Ende
        $xcid = $r['cid'];
      }
      $tpl->set_ar_out($r,3);
    }
      
    # statistic #
    $ges_online_user = ges_online();
    function user_online_today_liste(){
        $OnListe = '';
      $dif = mktime(0,0,0,date('m'),date('d'),date('Y'));
        $erg = db_query("SELECT a.id, a.name, a.llogin, b.bez, a.spezrank FROM `prefix_user` a LEFT JOIN prefix_ranks b ON b.id = a.spezrank  WHERE a.llogin > '". $dif."' ORDER BY recht");
        while($row = db_fetch_object($erg)) {
          if ( $row->spezrank <> 0 ) {
          $OnListe .= '<a class="'.$row->bez.'" title="'.$row->bez.'" href="index.php?user-details-'.$row->id.'">'.forum_farbname ($row->name).'</a>, ';
        } else {
          $OnListe .= '<a href="index.php?user-details-'.$row->id.'">'.forum_farbname ($row->name).'</a>, ';
          }
      }
      
        $OnListe = substr($OnListe,0,strlen($OnListe) - 3);
      return ($OnListe);
          }
    $stats_array = array (
      'privmsgpopup' => check_for_pm_popup (),
      'topics' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_topics`"),0),
      'posts' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_posts`"),0),
      'users' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_user`"),0),
      'istsind' => ( $ges_online_user > 1 ? 'sind' : 'ist' ),
      'gesonline' => $ges_online_user,
      'gastonline' => ges_gast_online(),
      'useronline' => ges_user_online(),
      'userliste' => user_online_liste(),
      'userliste_today' => user_online_today_liste(),
        'moda' => $moda
    );
      
    $tpl->set_ar_out($stats_array,4);
      
    $design->footer();



    Jetzt kommt wie es in MEINER aussieht (Bei mir ist es zeile 52/53) Und dann sollte ich in der showforum.htm nur noch {AVATAR} angeben, aber da passiert nichts außer das im forum {AVATAR} wieder ausgegeben wird. Habe ich was falsch gemacht?:

    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    $title = $allgAr['title'].' :: Forum';
    $hmenu = $extented_forum_menu.'Forum'.$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    if ($menu->get(1) == 'markallasread') {
      user_markallasread ();
    }
    
    
    $tpl = new tpl ( 'forum/showforum' );
    $tpl->out (0);
    
    $category_array = array();
    $forum_array = array();
    
    $q = "SELECT
      a.id, a.cid, a.name, a.besch,
      a.topics, a.posts, b.name as topic,
      c.id as pid, c.tid, b.rep, c.erst, c.time,
      a.cid, k.name as cname
    FROM prefix_forums a
      LEFT JOIN prefix_forumcats k ON k.id = a.cid
      LEFT JOIN prefix_posts c ON a.last_post_id = c.id
      LEFT JOIN prefix_topics b ON c.tid = b.id
    	
      LEFT JOIN prefix_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = a.view
      LEFT JOIN prefix_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = a.reply
      LEFT JOIN prefix_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = a.start
    	
    WHERE ((".$_SESSION['authright']." <= a.view AND a.view < 1) 
       OR (".$_SESSION['authright']." <= a.reply AND a.reply < 1)
       OR (".$_SESSION['authright']." <= a.start AND a.start < 1)
    	 OR vg.fid IS NOT NULL
    	 OR rg.fid IS NOT NULL
    	 OR sg.fid IS NOT NULL
    	 OR -9 = ".$_SESSION['authright'].")
    	 AND k.cid = 0
    ORDER BY k.pos, a.pos";
    $erg1 = db_query($q);
    $xcid = 0;
    while ($r = db_fetch_assoc($erg1) ) {
    	
      $ergava = @db_result(db_query('SELECT avatar FROM prefix_user WHERE name = "'.$r['erst'].'"'),0);
      $r['Avatar'] = (!empty($ergava) AND file_exists($ergava)) ? '<img src="'.$ergava.'" alt="Avatar" />' : '<img src="include/images/avatars/noavatar.jpg" />';
      
      $r['topicl'] = $r['topic'];
      $r['topic']  = html_enc_substr($r['topic'],0,23);
      $r['ORD']    = forum_get_ordner($r['time'],$r['id']);
      $r['mods']   = getmods($r['id']);
      $r['datum']  = date('- d.m.y', $r['time']);
      $r['page']   = ceil ( ($r['rep']+1)  / $allgAr['Fpanz'] );
      $tpl->set_ar ($r);
      if ($r['cid'] <> $xcid) {
        $tpl->out(1);
        //Unterkategorien
        $sql = db_query("SELECT DISTINCT a.name as cname, a.id as cid FROM `prefix_forumcats` a LEFT JOIN `prefix_forums` b ON a.id = b.cid WHERE a.cid = {$r['cid']} AND a.id = b.cid ORDER BY a.pos, a.name");
        while ($ucat = db_fetch_assoc($sql)) {
          $tpl->set_ar_out($ucat,2);
        }
        //Unterkategorien - Ende
        $xcid = $r['cid'];
      }
      $tpl->set_ar_out($r,3);
    }
    
    # statistic #
    $ges_online_user = ges_online();
    $stats_array = array (
      'privmsgpopup' => check_for_pm_popup (),
      'topics' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_topics`"),0),
      'posts' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_posts`"),0),
      'users' => db_result(db_query("SELECT COUNT(ID) FROM `prefix_user`"),0),
      'istsind' => ( $ges_online_user > 1 ? 'sind' : 'ist' ),
      'gesonline' => $ges_online_user,
      'gastonline' => ges_gast_online(),
      'useronline' => ges_user_online(),
      'userliste' => user_online_liste()
    );
    
    $tpl->set_ar_out($stats_array,4);
    
    $design->footer();
    ?>
    =====================================================
    EldaCraft.de | Reallife RPG Minecraft-Server
    =====================================================
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    z3us Mitglied
    Registriert seit
    14.09.2012
    Beiträge
    114
    Beitragswertungen
    10 Beitragspunkte
    Schreib mal Anstatt {AVATAR} - {Avatar}
    Meine Clanpage: Funny Gamers
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Sewomer Mitglied
    Registriert seit
    12.01.2007
    Beiträge
    411
    Beitragswertungen
    1 Beitragspunkte
    Jo hat funktioniert danke. Kann ich das jetzt noch so umschreiben das wenn keiner geschrieben hat das dort auch KEIN bild angezeigt wird?
    =====================================================
    EldaCraft.de | Reallife RPG Minecraft-Server
    =====================================================
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    z3us Mitglied
    Registriert seit
    14.09.2012
    Beiträge
    114
    Beitragswertungen
    10 Beitragspunkte
    Normalerweise müsste dort das noavatar angezeigt werden.

    Schau mal in deinen Ordner include/Images/avatars/...
    wie dort das noavatar heißt.

    Es heißt evtl gast.png oder wurstegal.jpg oder in der Richtung.
    Denn in der .php von dir heißt es ja noavatar.jpg.

    Wenn dies dort nicht existiert, kann es auch nicht angezeigt werden.
    Meine Clanpage: Funny Gamers
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Sewomer Mitglied
    Registriert seit
    12.01.2007
    Beiträge
    411
    Beitragswertungen
    1 Beitragspunkte
    Ah ok danke prüfe ich das gleich mal. Aber das gar keins angezeigt wird wenn in dem Forum keiner Geschrieben hat geht nicht?

    // EDIT //

    So ich habe die PHP so abgeändert das mein Wurstegal.png angezeigt wird. Nun möchte ich aber das wenn noch GAR KEIN beitrag in dem dazugehörigen Forum geschrieben wurde, dass dann auch KEIN bild angezeigt wird.

    Ist das möglich oder wäre das zu aufwendig?


    Zuletzt modifiziert von Sewomer am 19.05.2014 - 10:50:40
    =====================================================
    EldaCraft.de | Reallife RPG Minecraft-Server
    =====================================================
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Sewomer Mitglied
    Registriert seit
    12.01.2007
    Beiträge
    411
    Beitragswertungen
    1 Beitragspunkte
    Wo kann ich denn die Bilde für {POST} festlegen?
    =====================================================
    EldaCraft.de | Reallife RPG Minecraft-Server
    =====================================================
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten