ilch Forum » Allgemein » HTML, PHP, SQL,... » Eigenes Profilfeld in Teams

Geschlossen
  1. #1
    User Pic
    Holzi Mitglied
    Registriert seit
    28.10.2008
    Beiträge
    6
    Beitragswertungen
    0 Beitragspunkte
    Hi zusammen!

    Ich habe folgendes Problem:

    Es geht um die Homepage einer österreichischen TrackMania-Liga (Austrian Racing League), bei der ich auf der Unterseite "Teams" ein Feld einbauen möchte, das ich selbst gemacht habe.

    Das "Problemfeld" ist "TMF-Login", hat in der Tabelle ic1_profilefields die ID 18, die Daten, die in diesem Feld aber eingegeben sind, befinden sich ja in der Tabelle ic1_userfields (Feld "fid" = 18) in dem Feld "val".

    Da ich jetzt noch nicht so viel Erfahrung mit SQL habe, und ich mir denke, dass mein Problem in der datei include/contents/teams.php in Zeile 13 beim SQL-Befehl liegen wird, brauche ich bitte eure Hilfe.

    Hier noch einmal der ganze Code:
    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    defined ('main') or die ( 'no direct access' );
    
    function show_members ($gid,$tpl) {
    	global $allgAr;
    
        # icq team bild, hier die zahl aendern.
        $teams_show_icq_pic = 7;
    
    
    	$q = "SELECT b.uid, a.icq, a.avatar, a.status, a.name, a.wohnort, a.gebdatum, c.name as posi, staat FROM prefix_groupusers b LEFT JOIN prefix_user a ON a.id = b.uid LEFT JOIN prefix_groupfuncs c ON b.fid = c.id WHERE b.gid = ".$gid." ORDER BY c.pos ASC, a.name ASC";
    	$erg = db_query($q);
    	if (db_num_rows($erg) < 1) {
    	    return false;
    	}
        $tpl->out(1);
        $class = 'Cnorm';
    	while($row = db_fetch_assoc($erg) ) {
    		$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    		$row['class'] = $class;
            if ( $row['staat'] != '' ) {
    			$row['staat'] = '<img src="include/images/flags/'.$row['staat'].'" alt="" border="0">';
    		} else {
                $row['staat'] = 'n/a';
            }
    		$row['status'] = ($row['status']? 'aktiv' : 'inaktiv' );
    		if(!empty($row['icq'])){
                $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$row['icq'].'&action=add"><img src="http://wwp.icq.com/scripts/online.dll?icq='.$row['icq'].'&img='.$teams_show_icq_pic.'" valign="bottom"  border="0"></a>';
    		} else {
    			$row['icq'] = 'n/a';
    		}
    		if($allgAr['teams_show_list']==1){
    			if(empty($row['avatar'])){
    				$row['avatar'] = 'n/a';
    			} else {
    				$row['avatar'] = '<img src="'.$row['avatar'].'" alt="Avatar von '.$row['name'].'" border="0" >';
    			}
    			$tpl->set_ar_out($row,2);
    		} else {
    			$tpl->set_ar_out($row,3);
    		}
    	}
    	$tpl->out(4);
    }
    
    
    
    if ($menu->get(1) == 'show') {
    	$groups = array();  #collect given teams
    	$i = 2;
      while($gid = escape($menu->get($i), 'integer')){
        $groups[] = $gid;
        $i++;
      }
      #$gid = escape($menu->get(2), 'integer');
      if(count($groups) == 1){   #only 1 group to show
        $gid=$groups[0];
        $name = @db_result (db_query("SELECT name FROM prefix_groups WHERE id =".$gid));
      	$bild = @db_result (db_query("SELECT img FROM prefix_groups WHERE id =".$gid));
      	$login = @db_result (db_query("SELECT val FROM prefix_userfields WHERE uid =".$gid));
        $title = $allgAr['title'].' :: Teams :: '.$name;
      	$hmenu = '<a class="smalfont" href="?teams">Teams</a> &raquo; '.$name;
      	$design = new design ( $title , $hmenu );
      	$design->header();
      	$tpl = new tpl ('teams');
      	if (!empty($bild) ) {
          $show = '<img src="'.$bild.'" title="'.$name.'" alt="'.$name.'" border="0"></a>';
        } else {
      	  $show = '<b>'.$name.'</b>';
        }
        $tpl->set_out('show', $show,1);
        $tpl->set_out('name', $name,0);
        $tpl->set_out('login', $login,2);
        show_members ($gid,$tpl);
    
      }else{  #more groups to show
        $title = $allgAr['title'].' :: Teams :: ';
        $hmenu = '<a class="smalfont" href="?teams">Teams</a>';
        $design = new design ( $title , $hmenu );
        $design->header();
        $tpl = new tpl ('teams');
    
        foreach($groups as $gid){
          $sql = db_query("SELECT name, img FROM prefix_groups WHERE id =".$gid);
          if (db_num_rows($sql) < 1) {
              continue;
          }
          $row = db_fetch_assoc ($sql);
          if (!empty($row['img']) ) {
            $show = '<img src="'.$row['img'].'" title="'.$row['name'].'" alt="'.$row['name'].'" border="0"></a>';
          } else {
        	  $show = '<b>'.$row['name'].'</b>';
          }
          $tpl->set_out('show', $show,0);
          show_members ($gid,$tpl);
        }
    
      }
    
    } else {
    	$title = $allgAr['title'].' :: Teams';
    	$hmenu = 'Teams';
    	$design = new design ( $title , $hmenu );
    	$design->header();
    	$tpl = new tpl ('teams');
      $erg1 = db_query("SELECT name,img,id as gid FROM prefix_groups WHERE zeigen = 1 ORDER BY pos");
    	while ($row = db_fetch_assoc($erg1) ) {
    	  if (!empty($row['img']) ) {
      		$row['show'] = '<img src="'.$row['img'].'" title="'.$row['name'].'" alt="'.$row['name'].'" border="0">';
    		} else {
    	  	$row['show'] = '<b>'.$row['name'].'</b>';
    		}
    		$tpl->set_ar_out($row,0);
        if ($allgAr['teams_show_cat'] == 0) {
          show_members ($row['gid'],$tpl);
        }
      }
    }
    
    $design->footer(0);
    ?>


    Wir lernen zwar SQL gerade in der Schule, aber wir hatten erst eine Stunde SQL und davor hatte ich auch noch nichts damit zu tun. Und meine Liga startet schon dieses Wochenende, darum wäre es gut, wenn ich das Problem so schnell wie möglich lösen könnte.
    Ich habe zwar selbst schon stundenlang herumprobiert, aber ganz ohne Kenntnisse ist es halt dann doch nicht so einfach. zwinker

    Danke schon einmal im Voraus, ich hoffe, ihr könnt mir helfen! zwinker

    LG Holzi


    verwendete ilchClan Version: 1.1

    betroffene Homepage: austrianrl.bplaced.net
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $q = "SELECT b.uid, a.icq, a.avatar, a.status, a.name, a.wohnort, a.gebdatum, c.name as posi, staat, d.val AS tmflogin
        FROM prefix_groupusers b LEFT JOIN prefix_user a ON a.id = b.uid 
                                 LEFT JOIN prefix_groupfuncs c ON b.fid = c.id
                                 LEFT JOIN prefix_userfields d ON d.uid = b.uid AND d.fid = 18
                                 WHERE b.gid = ".$gid." ORDER BY c.pos ASC, a.name ASC";


    Ich denke mal du verstehst es so halbwegs zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Holzi Mitglied
    Registriert seit
    28.10.2008
    Beiträge
    6
    Beitragswertungen
    0 Beitragspunkte
    super, jetzt funktioniert endlich alles... lächeln

    danke, war echt nett von dir! zwinker

    lg holzi
    0 Mitglieder finden den Beitrag gut.
Geschlossen

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

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten