Autor Zpráva
Kouba
Profil
Dobrý den,mam problem u fotbalovýho manageru,když se někdo registruje do hry (tým) tak by měl dostat patřičnou vlajku Země,ale vmém případě se zobrazuje jenom "none" zakladní jedna vlajka.
www.footballonline.cekuj.net vlevo dole "top10"

<?php
function get_manager($id, $league)
{
	global $db;
	$table = "`l".$league."_team`";
	$sql = "select a.manager, b.name from $table as a, `ma_user` as b where a.team_id=$id and a.manager=b.id";
	$t = $db->query_first($sql);
	return $t['name'];
}

function get_managerid($id, $league)
{
	global $db;
	$table = "`l".$league."_team`";
	$sql = "select manager from $table where team_id=$id";
	$t = $db->query_first($sql);
	return $t['manager'];
}

function get_club($id, $league)
{
	global $db;
	$table = "`l".$league."_team`";
	$sql = "select team_name from $table where team_id=$id";
	$t = $db->query_first($sql);
	return $t['team_name'];
}

function get_flag($id, $league)
{
	global $db;
	$table = "`l".$league."_team`";
	$sql = "select manager from $table where team_id=$id";
	$t = $db->query_first($sql);
	
	$uid = $t['manager'];
	$sql = "select iso from ma_user where id=$uid";
	$t = $db->query_first($sql);
	$code = strtolower($t['iso']);
	if ($code != "")
	{
		$src = "<img src='img/countries/$code.png' border='0'>";
	}	
	else
	{
		$src = "<img src='img/countries/00.png' border='0'>";
	}
	
	return $src;
}

function get_top($l)
{
	global $db;
	$t1 = "l".$l."_a";
	$t2 = "l".$l."_b";
	$t3 = "l".$l."_c";
	$t4 = "l".$l."_d";
	
	$sql = "SELECT `team_id`, `points`, `goal_diff` FROM $t1 UNION
			SELECT `team_id`, `points`, `goal_diff` FROM $t2 UNION
			SELECT `team_id`, `points`, `goal_diff` FROM $t3 UNION
			SELECT `team_id`, `points`, `goal_diff` FROM $t4 ORDER BY points DESC , goal_diff DESC";
	$tmp = $db->fetch_all_array($sql);
	$i = 1;
	foreach ($tmp as $team)
	{
		$manager = get_manager($team['team_id'], $l);
		$managerid = get_managerid($team['team_id'], $l);
		if ($manager != "" and $i<=10)
		{
			$leaguee[$i-1]['team_id'] = $team['team_id'];
			$leaguee[$i-1]['pos'] = $i;
			$leaguee[$i-1]['manager'] = $manager;
			$leaguee[$i-1]['managerid'] = $managerid;
			$leaguee[$i-1]['points'] = $team['points'];
			$leaguee[$i-1]['club'] = get_club($team['team_id'], $l);
			$leaguee[$i-1]['flag'] = get_flag($team['team_id'], $l);
			$i++;
		}
	}
	return $leaguee;
}

$sql = "select value from ma_settings where name='leagues'";
$tmp = $db->query_first($sql);
$leagues = $tmp['value'];

$toplist = "";
for ($j=1; $j<=$leagues; $j++)
{
	/*$sql = "select value from $table where name='compile'";
	$tmp = $db->query_first($sql);
	if ($tmp['value'] == 1)
	*/
	$leagueee[$j-1] = get_top($j);
	($j == 1) ? $sel = "selected" : $sel = "";
	$toplist .= "<option value='$j' $sel>League $j</option>";
}

$smarty->assign("TOP", $leagueee);
$smarty->assign("TOPLIST", $toplist);

?>


když u toho
{
		$src = "<img src='img/countries/$code.png' border='0'>";
	}	
	else
	{
		$src = "<img src='img/countries/00.png' border='0'>";
	}
to proměnim a dám třeba místo 00.png třeba Českou vlajku cz.png tak to maj všechny týmy a to já nechci nevíte někdo jak to udělat?Děkuji předem
Kouba
Profil
function get_flag($id, $league)
{
    global $db;
    $table = "`l".$league."_team`";
    $sql = "select manager from $table where team_id=$id";
    $t = $db->query_first($sql);
    
    $uid = $t['manager'];
    $sql = "select iso from ma_user where id=$uid";
    $t = $db->query_first($sql);
    $code = strtolower($t['iso']);
    if ($code != "")
    {
        $src = "<img src='img/countries/$code.png' border='0'>";
    }    
    else
    {
        $src = "<img src='img/countries/00.png' border='0'>";
    }
    
    return $src;
}


neví někdo jak to upravit aby to vypisovalo tu správnou vlajku k týmu z ,který je Země?Já sem bezradnej:/
AM_
Profil
Co trocha vlastní snahy to odladit? Jednoduchá úvaha: vždy se zobrazí 00.png => znamená to, že vždy to skáče do "else" větve => $code je prázdný řetězec - zjisti, proč.
Kouba
Profil
Dumal jsem nad tím týden a nemůžu na to furt přijít :(
nightfish
Profil
Kouba:
Dumal jsem nad tím týden a nemůžu na to furt přijít
vypisuj si průběžně hodnoty všech proměnných, se kterými v té funkci pracuješ, jinak to zjistit nepůjde, na první pohled tam chybu nevidím

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0