ilch Forum » Allgemein » HTML, PHP, SQL,... » verlinkung

Geschlossen
  1. #1
    User Pic
    Peter Mitglied
    Registriert seit
    16.12.2006
    Beiträge
    171
    Beitragswertungen
    0 Beitragspunkte
    hi ich würde gern etwas in die team details verlinken.

    das soll so ausehen:

    <a href="http://live.xbox.com/de-DE/profile/profile.aspx?pp=0&GamerTag={leader}">Naricht an Leader</a>

    wobei {leader} immer der jeweilige username vom leader in dem team sein soll.

    ich weiss das ich eine datenbank abfrage machen muss aber kA wohin damit und wie die genau heissen soll leider bin ich noch nicht so fit darain...

    die daten stehen in der tabelle ic1_user und ic1_liga_teams.

    bräuchte eine abfrage die nach den membern im jeweiligen team fragt und dann nach dem mit der höchsten "position/rang" und das als leader ausspuckt...nur leider klappten meine versuche bis jetzt nicht und deshalb frag ich hier mal und hoffe jemand kann mir helfen


    Zuletzt modifiziert von Peter am 12.05.2009 - 11:45:55
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Es gibt ja folgende Abfrage in der teams.php
    $erg1 = db_query("SELECT name,img,id as gid FROM prefix_groups WHERE zeigen = 1 ORDER BY pos");


    wenn du sie wie folgt änderst, sollte in leader der Name des Leaders sein.

    $erg1 = db_query("SELECT t.name, t.img, t.id as gid, u.name AS leader FROM prefix_groups t LEFT JOIN prefix_user u ON t.mod1 = u.id WHERE t.zeigen = 1 ORDER BY t.pos");
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Peter Mitglied
    Registriert seit
    16.12.2006
    Beiträge
    171
    Beitragswertungen
    0 Beitragspunkte
    ja ne ich benutzte nicht die normalen Teams sondern die von deinem liga modul...
    meine teams.php sieht so aus
    <?php
    
    // Liga Modul - Version eastrocker
    
    // Written by Mairu
    
    // content / teams
    
    defined ('main') or die ('no direct access');
    
    
    
    if ($tid = validInt($menu->get(2)) and $tid !== false) {
    
        // Team anzeigen
    
        function show_members ($tid, $tpl) {
    
            global $allgAr, $ligaTeamFunctions;
    
            // icq team bild, hier die zahl aendern.
    
            $teams_show_icq_pic = 7;
    
    
    
            $class = 'Cnorm';
    
            $q = "SELECT b.uid, a.icq, a.avatar, a.status, a.name as playername, a.staat, b.fid, b.joined FROM `prefix_liga_teamuser` b INNER JOIN `prefix_user` a ON a.id = b.uid WHERE b.tid = " . $tid . " ORDER BY b.fid, a.name";
    
            $erg = db_query($q);
    
            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');
    
    			$joined = strtotime($row['joined']);
    
    			$row['joined'] = date('d.m.Y', $joined);
    
                $row['posi'] = $ligaTeamFunctions[$row['fid']];
    
                $tpl->set_ar_out($row, 1);
    
            }
    
        }
    
        $tr = db_fetch_assoc(db_query("SELECT * FROM `prefix_liga_team` WHERE id = " . $tid));
    
        if (is_null($tr['id'])) {
    
            $title = $allgAr['title'] . " :: Liga :: Teams";
    
            $design = new design ($title , null);
    
            $design->header();
    
            echo 'Seite falsch aufgerufen.<br />';
    
            $design->footer();
    
        }
    
        $title = $allgAr['title'] . " :: Liga :: Teams :: " . $tr['name'];
    
        $hmenu = 'Liga &raquo; <a class="smalfont" href="?liga-teams">Teams</a> &raquo; ' . $tr['name'];
    
        $design = new design ($title , $hmenu);
    
        $design->header();
    
        $tpl = new tpl ('liga/teams');
    
        $ar = array('logo', 'ts_add', 'ts_pw', 'trackerid', 'text');
    
        foreach ($ar as $v) {
    
            if (empty($tr[$v])) {
    
                $tr[$v] = 'n/a';
    
            }
    
        }
    
    	if ($tr['ts_pw'] == 'n/a' or $tr['ts_add'] == 'n/a' or $_SESSION['authright'] > -3) {
    
    		$tr['show_ts_pw'] = 0;
    
    	} else {
    
    		$tr['show_ts_pw'] = 1;
    
    	}
    
    	$sql = db_query("SELECT a.sid, b.name AS sname, c.name AS lname FROM prefix_liga_table a INNER JOIN prefix_liga_season b ON a.sid = b.id INNER JOIN prefix_liga_league c ON a.lid = c.id WHERE b.status = 1 AND a.tid = $tid");
    
        if (db_num_rows($sql) > 0) {
    
        	$r = db_fetch_assoc($sql);
    
            $tr['liga'] = '<tr><td class="Cnorm">Liga</td><td class="Cmite">'.$r['lname'].' &raquo; '.$r['sname'].'</td>'.
    
                          '<tr><td class="Cnorm">Platz</td><td class="Cmite">'.getTeamsPlace($tid, $r['sid']).'</td>';
    
        } else {
    
            $tr['liga'] = '';
    
        }
    
        if (@db_count_query("SELECT fid FROM `prefix_liga_teamuser` WHERE tid = $tid AND uid = " . $_SESSION['authid']) == 1) {
    
            $tr['admin'] = '<tr class="Cnorm"><td colspan="2" align="center"><a href="?liga-teams-admin-' . $tid . '">Team administrieren</a></td></tr>';
    
        } else {
    
            $tr['admin'] = '';
    
        }
    
        $tpl->set_ar_out($tr, 0);
    
        show_members ($tid, $tpl);
    
        $tpl->out(2);
    
    } else {
    
        // Teams auflisten
    
        if ($menu->getA(2) == 'l') {
    
            $lid = $menu->getE(2);
    
            $liga = $lid > 0 ? @db_result(db_query("SELECT name FROM `prefix_liga_league` WHERE id = $lid"), 0) : '';
    
            // Saison
    
            $sid = $menu->getE(3);
    
            $season = $sid > 0 ? @db_result(db_query("SELECT name FROM `prefix_liga_season` WHERE id = $sid"), 0) : '';
    
        } elseif (($type = $menu->get(2)) and isset($ligaTeamTypes[$type])) {
    
        } else {
    
            $type = false;
    
        }
    
    
    
        $title = $allgAr['title'] . " :: $liga :: Teams";
    
        $hmenu = '';
    
        if (!empty($liga)) {
    
            $hmenu .= "$liga <b> &raquo; </b>";
    
            if (!empty($season)) {
    
                $hmenu .= "$season <b> &raquo; </b>";
    
            }
    
        } elseif($type !== false) {
    
            $hmenu .= "$type <b> &raquo; </b>";
    
        }
    
    
    
        $hmenu .= "Teams";
    
        $design = new design ($title , $hmenu);
    
        $design->header();
    
        $tpl = new tpl ('liga/teams_list');
    
        if ($lid > 0) {
    
            $erg1 = db_query("SELECT a.* FROM `prefix_liga_team` a INNER JOIN (prefix_liga_table b INNER JOIN prefix_liga_season c ON b.sid = c.id) ON a.id = b.tid WHERE " . ($sid > 0 ? 'c.id = ' . $sid : 'c.status = 1') . " AND b.lid = $lid");
    
        } else {
    
            $erg1 = db_query("SELECT * FROM `prefix_liga_team` ".($type !== false ? 'WHERE type="'.$type.'"' : '')." ORDER BY name");
    
        }
    
        $tpl->set_out('name', $hmenu, 0);
    
        $class = "Cmite";
    
    	while ($row = db_fetch_assoc($erg1)) {
    
        	$class = $class == 'Cmite' ? 'Cnorm' : 'Cmite';
    
    		$row['class'] = $class;
    
            if (!empty($row['logo'])) {
    
                if (substr($row['logo'], 0, 4) == 'www.') $row['logo'] = 'http://' . $row['logo'];
    
                $row['show'] = '<a href="index.php?liga-teams-' . $row['id'] . '"><img src="' . $row['logo'] . '" title="' . $row['name'] . '" alt="' . $row['name'] . '" width="550" border="0"></a>';
    
            } else {
    
                $row['show'] = '<a href="index.php?liga-teams-' . $row['id'] . '"><b>' . $row['name'] = '<img src="include/images/clan/NoBanner.jpg"></img>' . '</b></a>';
    
            }
    
            $tpl->set_ar_out($row, 1);
    
        }
    
        $tpl->out(2);
    
    }
    
    
    
    $design->footer();
    
    
    
    ?>



    Zuletzt modifiziert von Peter am 12.05.2009 - 13:53:59
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Da ist die Sache verzwickter, da es mehrere Admins pro Team geben kann und das nicht so eindeutig herauszufinden ist, aber wenn du sagst, ok auf gut Glück ein Admin, dann kann ich das machen, und zwar so.

    $row['leader'] = db_result(db_query("SELECT u.name FROM prefix_liga_teamuser t LEFT JOIN prefix_user u ON t.uid = u.id WHERE t.tid = " . $tid . " ORDER BY t.fid, t.uid LIMIT 1"), 0);
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Peter Mitglied
    Registriert seit
    16.12.2006
    Beiträge
    171
    Beitragswertungen
    0 Beitragspunkte
    ja ist egal welcher solang einer der leader dann im link steht ist das okay... aber leider funktioniert das nicht so ganz oder ich hab was falsch gemacht

    ich hab das von dir in meine teams.php eingefügt
    <?php
    
    // Liga Modul - Version eastrocker
    
    // Written by Mairu
    
    // content / teams
    
    defined ('main') or die ('no direct access');
    
    
    
    if ($tid = validInt($menu->get(2)) and $tid !== false) {
    
        // Team anzeigen
    
        function show_members ($tid, $tpl) {
    
            global $allgAr, $ligaTeamFunctions;
    
            // icq team bild, hier die zahl aendern.
    
            $teams_show_icq_pic = 7;
    
    
    
            $class = 'Cnorm';
    
            $q = "SELECT b.uid, a.icq, a.avatar, a.status, a.name as playername, a.staat, b.fid, b.joined FROM `prefix_liga_teamuser` b INNER JOIN `prefix_user` a ON a.id = b.uid WHERE b.tid = " . $tid . " ORDER BY b.fid, a.name";
    
            $erg = db_query($q);
    
            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');
    
    			$joined = strtotime($row['joined']);
    
    			$row['joined'] = date('d.m.Y', $joined);
    
                $row['posi'] = $ligaTeamFunctions[$row['fid']];
    
                $row['leader'] = db_result(db_query("SELECT u.name FROM prefix_liga_teamuser t LEFT JOIN prefix_user u ON t.uid = u.id WHERE t.tid = " . $tid . " ORDER BY t.fid, t.uid LIMIT 1"), 0);
    			
    			$tpl->set_ar_out($row, 1);
    
            }
    
        }
    
        $tr = db_fetch_assoc(db_query("SELECT * FROM `prefix_liga_team` WHERE id = " . $tid));
    
        if (is_null($tr['id'])) {
    
            $title = $allgAr['title'] . " :: Liga :: Teams";
    
            $design = new design ($title , null);
    
            $design->header();
    
            echo 'Seite falsch aufgerufen.<br />';
    
            $design->footer();
    
        }
    
        $title = $allgAr['title'] . " :: Liga :: Teams :: " . $tr['name'];
    
        $hmenu = 'Liga &raquo; <a class="smalfont" href="?liga-teams">Teams</a> &raquo; ' . $tr['name'];
    
        $design = new design ($title , $hmenu);
    
        $design->header();
    
        $tpl = new tpl ('liga/teams');
    
        $ar = array('logo', 'ts_add', 'ts_pw', 'trackerid', 'text');
    
        foreach ($ar as $v) {
    
            if (empty($tr[$v])) {
    
                $tr[$v] = 'n/a';
    
            }
    
        }
    
    	if ($tr['ts_pw'] == 'n/a' or $tr['ts_add'] == 'n/a' or $_SESSION['authright'] > -3) {
    
    		$tr['show_ts_pw'] = 0;
    
    	} else {
    
    		$tr['show_ts_pw'] = 1;
    
    	}
    
    	$sql = db_query("SELECT a.sid, b.name AS sname, c.name AS lname FROM prefix_liga_table a INNER JOIN prefix_liga_season b ON a.sid = b.id INNER JOIN prefix_liga_league c ON a.lid = c.id WHERE b.status = 1 AND a.tid = $tid");
    
        if (db_num_rows($sql) > 0) {
    
        	$r = db_fetch_assoc($sql);
    
            $tr['liga'] = '<tr><td class="Cnorm">Liga</td><td class="Cmite">'.$r['lname'].' &raquo; '.$r['sname'].'</td>'.
    
                          '<tr><td class="Cnorm">Platz</td><td class="Cmite">'.getTeamsPlace($tid, $r['sid']).'</td>';
    
        } else {
    
            $tr['liga'] = '';
    
        }
    
        if (@db_count_query("SELECT fid FROM `prefix_liga_teamuser` WHERE tid = $tid AND uid = " . $_SESSION['authid']) == 1) {
    
            $tr['admin'] = '<tr class="Cnorm"><td colspan="2" align="center"><a href="?liga-teams-admin-' . $tid . '">Team administrieren</a></td></tr>';
    
        } else {
    
            $tr['admin'] = '';
    
        }
    
        $tpl->set_ar_out($tr, 0);
    
        show_members ($tid, $tpl);
    
        $tpl->out(2);
    
    } else {
    
        // Teams auflisten
    
        if ($menu->getA(2) == 'l') {
    
            $lid = $menu->getE(2);
    
            $liga = $lid > 0 ? @db_result(db_query("SELECT name FROM `prefix_liga_league` WHERE id = $lid"), 0) : '';
    
            // Saison
    
            $sid = $menu->getE(3);
    
            $season = $sid > 0 ? @db_result(db_query("SELECT name FROM `prefix_liga_season` WHERE id = $sid"), 0) : '';
    
        } elseif (($type = $menu->get(2)) and isset($ligaTeamTypes[$type])) {
    
        } else {
    
            $type = false;
    
        }
    
    
    
        $title = $allgAr['title'] . " :: $liga :: Teams";
    
        $hmenu = '';
    
        if (!empty($liga)) {
    
            $hmenu .= "$liga <b> &raquo; </b>";
    
            if (!empty($season)) {
    
                $hmenu .= "$season <b> &raquo; </b>";
    
            }
    
        } elseif($type !== false) {
    
            $hmenu .= "$type <b> &raquo; </b>";
    
        }
    
    
    
        $hmenu .= "Teams";
    
        $design = new design ($title , $hmenu);
    
        $design->header();
    
        $tpl = new tpl ('liga/teams_list');
    
        if ($lid > 0) {
    
            $erg1 = db_query("SELECT a.* FROM `prefix_liga_team` a INNER JOIN (prefix_liga_table b INNER JOIN prefix_liga_season c ON b.sid = c.id) ON a.id = b.tid WHERE " . ($sid > 0 ? 'c.id = ' . $sid : 'c.status = 1') . " AND b.lid = $lid");
    
        } else {
    
            $erg1 = db_query("SELECT * FROM `prefix_liga_team` ".($type !== false ? 'WHERE type="'.$type.'"' : '')." ORDER BY name");
    
        }
    
        $tpl->set_out('name', $hmenu, 0);
    
        $class = "Cmite";
    
    	while ($row = db_fetch_assoc($erg1)) {
    
        	$class = $class == 'Cmite' ? 'Cnorm' : 'Cmite';
    
    		$row['class'] = $class;
    
            if (!empty($row['logo'])) {
    
                if (substr($row['logo'], 0, 4) == 'www.') $row['logo'] = 'http://' . $row['logo'];
    
                $row['show'] = '<a href="index.php?liga-teams-' . $row['id'] . '"><img src="' . $row['logo'] . '" title="' . $row['name'] . '" alt="' . $row['name'] . '" width="550" border="0"></a>';
    
            } else {
    
                $row['show'] = '<a href="index.php?liga-teams-' . $row['id'] . '"><b>' . $row['name'] = '<img src="include/images/clan/NoBanner.jpg"></img>' . '</b></a>';
    
            }
    
            $tpl->set_ar_out($row, 1);
    
        }
    
        $tpl->out(2);
    
    }
    
    
    
    $design->footer();
    
    
    
    ?>


    und in die teams.htm habe ich es dann so verlinkt
    <a href="http://live.xbox.com/de-DE/profile/profile.aspx?pp=0&GamerTag={leader}">Naricht an Leader</a>


    das hat aber leider nicht funktioniert...
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ne hab mich getäuscht bzw. nicht richtig nachgeschaut, muss $tr sein, also nicht bei den Membern sondern bei dem Teamdaten und dann halt am besten kurz vor $tpl->set_ar_out($tr ... setzen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Peter Mitglied
    Registriert seit
    16.12.2006
    Beiträge
    171
    Beitragswertungen
    0 Beitragspunkte
    vielen dank das hat geklappt
    0 Mitglieder finden den Beitrag gut.
Geschlossen

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

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten