Stránka 1 z 1

Zakomponování funkce

Napsal: 21 čer 2013 14:41
od table
Dobrý horký den,
potřeboval bych poradit jak do následujícího scriptu zakomponovat tuto podmínku.
Čeho chci dosáhnout je, že pokud bude naplněno následující, tak to u výsledku zobrazí (ff).
winortie 5= výhra domácích v prodloužení
winortie 2= výhra hostů v prodloužení
Podmínku mám tuto:



Kód: Vybrat vše

if ($data['winortie'] == 2 || $data['winortie'] == 5) {
        print ' (ff)';
    }

Ale nedaří se mi to do toho scriptu dostat tak aby to bylo funkční poradí někdo?
Zde je script:

Kód: Vybrat vše

<?php

require "settings.php";
 
if (isset($_GET['conf'])) {
    $confid = intval($_GET['conf']);
}
else {
    $confid = 0;
}



// Ziskani dat
$queryscores="SELECT sportsdb_wins.winid, sportsdb_wins.windate, sportsdb_wins.wintime, sportsdb_wins.rf, sportsdb_wins.ra, sportsdb_wins.winner,
    sportsdb_wins.loser, sportsdb_wins.wincomments, sportsdb_wins.field, sportsdb_wins.winortie, sportsdb_teams2.teamname AS winningteam,
    sportsdb_teams.teamname AS losingteam
    FROM sportsdb_wins
    LEFT JOIN sportsdb_teams ON sportsdb_wins.loser = sportsdb_teams.teamid
    LEFT JOIN sportsdb_teams AS sportsdb_teams2 ON sportsdb_wins.winner = sportsdb_teams2.teamid
    LEFT JOIN sportsdb_divs ON sportsdb_teams.teamdiv = sportsdb_divs.divid
    LEFT JOIN sportsdb_divs AS sportsdb_divs2 ON sportsdb_teams2.teamdiv = sportsdb_divs2.divid
    WHERE (sportsdb_divs.conference = $confid OR sportsdb_divs2.conference = $confid OR (sportsdb_wins.winconf = $confid AND (sportsdb_wins.loser = -1 OR sportsdb_wins.winner = -1))) AND sportsdb_wins.winortie != 3";

// Sort by team if specified
if (isset($_POST['teamtosort']) && $_POST['teamtosort'] != 'all') {
    $teamtosort = intval($_POST['teamtosort']);
    $queryscores .= " AND (sportsdb_wins.winner = $teamtosort OR sportsdb_wins.loser = $teamtosort)";
}

$queryscores .= ' ORDER BY winid DESC';
$resultscores=mysql_query($queryscores);
$numscores=mysql_num_rows($resultscores);
$html = "";               // hlavni HTML zasobnik

// neni nulovy pocet zapasu
if($numscores > 0){

   /* Pouzite promenne */
   $teams = Array();         // ciselnik tymu
   $team_matches = Array();   // vazba tymu na zapas
   $matches = Array();         // zapasy
   $matches_data = Array();   // data zapasu

   for($a = 0; $a < $numscores; $a++){
      
      $data = mysql_fetch_array($resultscores);

      // ciselnik tymu
      $team_matches[$data["winner"]][] = $data["winid"];
      $team_matches[$data["loser"]][] = $data["winid"];

      // zapasy
      $matches["id"][] = $data["winid"];

      $matches_data[$data["winid"]]["winner"] =  $data["winner"];
      $matches_data[$data["winid"]]["loser"] =  $data["loser"];

      // skore zapasu
   
         $matches_data[$data["winid"]]["winner_score"] =  $data["rf"];
         $matches_data[$data["winid"]]["loser_score"] =  $data["ra"];
    
 

      // ciselnik tymu
      if(isset($teams[$data["winner"]]) == false){
         $teams[$data["winner"]] = $data["winningteam"];
      }
      if(isset($teams[$data["loser"]]) == false){
         $teams[$data["loser"]] = $data["losingteam"];
      }
   }

   // abecedni razeni tymu;
   asort($teams);

   // prijatelejsi indexovane pole pro tabulku
   $teams_sorted = Array();

   foreach($teams as $key => $value){
      
      $teams_sorted["id"][] = $key;
      $teams_sorted["name"][] = $value;
   }
   
   // horni radek
   $html .= "<tr style='text-align: center; background-color:#4682B4;'>".PHP_EOL;
   $html .= "<td><a href='http://tabulky.michales.eu'><img width='25' src='/uploads//e1p.png'></a></td>".PHP_EOL;
   for($a = 0; $a < count($teams_sorted["id"]); $a++){
      
      $html .= "<th><img title='".$teams_sorted["name"][$a]."' src='/img/".$teams_sorted["name"][$a].".gif'></th>".PHP_EOL;
   }
   $html .= "</tr>".PHP_EOL;

   // pro kazdy radek
   for($a = 0; $a < count($teams_sorted["id"]); $a++){

      $html .= "<tr>".PHP_EOL;

      // pro kazdry sloupec
      for($b = 0; $b < count($teams_sorted["id"])+1; $b++){

         $html .= "<td>".PHP_EOL;
         $left_team_id = $teams_sorted["id"][$a];

         // prvni sloupec - jmeno
         if($b == 0){
            $html .= "<strong><img title='".$teams[$left_team_id]."' src='/img/".$teams[$left_team_id].".gif'></strong>";
         }
         
         // kazdy dalsi - vysledek nebo X
         else{
            $upper_team_id = $teams_sorted["id"][$b-1];
            

            // stejne tymy - X
            if($left_team_id == $upper_team_id){
               
               $html .= "<img src='/img/".$teams[$left_team_id].".gif'>".PHP_EOL;
            }
                     
            // skore
            else{

               // spolecene zapasy
               $common_matches = (array_intersect($team_matches[$left_team_id], $team_matches[$upper_team_id]));
               $common_matches_id = array_values($common_matches);
           
               // pokud existuji
               if(count($common_matches_id) > 0){

                  // pro kazdy zapas
                  for($c = 0; $c < count($common_matches_id); $c++){

                     // id zapasu
                     $match_id = $common_matches_id[$c];

                     // vitez / skore
                     if($matches_data[$match_id]["winner"] == $upper_team_id){
                        
                        $upper_team_score = $matches_data[$match_id]["winner_score"];
                        $left_team_score = $matches_data[$match_id]["loser_score"];
               
                        if($upper_team_score < $left_team_score){
                        $class  = "win";  }
                else{
                        $class = "lose"; }
                     }
                     else{
                        
                        $upper_team_score = $matches_data[$match_id]["loser_score"];
                        $left_team_score = $matches_data[$match_id]["winner_score"];
             
             if($upper_team_score > $left_team_score){
                  $class  = "lose";
                  }else{
                $class  = "win";}
   
                     }
   
   
      
                     $html .= "<div class=\"row\"><span class=\"".$class."\">".$left_team_score."</span>:<span class=\"".$class."\">".$upper_team_score."</span></div>"; PHP_EOL;
           
                  }
               }

               // neexistuji - pomlčka
               else{

                  $html .= "<span style='font-family: Arial; font-size: 11px; color:black;'>-</span>".PHP_EOL;
               }
            }
         }
          
         $html .= "</td>";
      }
   }
}
 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<title>Křížová tabulka</title><center>
 
</head>
<body>

<style type="text/css">
body { font-family: Arial; font-size: 11px;}
table { border-collapse:collapse; }
table,th, td { border: 1px solid black; }
.lose { color: red; }
.win { color: green; }
.row { width: 100%; }
</style>
 
<table style="text-align: center; background-color:#ADD8E6;">

   <?php echo $html; ?>

</table>
 
</body>
</html>

Re: Zakomponování funkce

Napsal: 21 čer 2013 23:13
od CrazyC0de
Na cely script nemam cas, zkus na miste kde se ma nachazet ten script vypsat echem neco, muze tam byt presmerovani a ani si toho nemusis vsimnout.


Odesláno z Tapatalk 2.

Re: Zakomponování funkce

Napsal: 22 čer 2013 12:33
od table
Mno nevím jak by mi echo pomohlo ale vyřešil jsem to následujícím způsobem:
Upravil jsem select takto:

Kód: Vybrat vše

SELECT CASE WHEN sportsdb_wins.winortie IN (2,5) THEN 'p' ELSE '' END AS priznak

Přidal pak řádek:

Kód: Vybrat vše

$matches_data[$data["winid"]]["priznak"] =  $data["priznak"];


Pak už jsem to jen vypsal tam kde potřebuji.

Re: Zakomponování funkce

Napsal: 22 čer 2013 12:46
od CrazyC0de
No ocividne jsi nemel problem v podminkach ale v mysql. Diky tomu echu jsi mohl aspon zjistit jeatli tam jde neco vypsat.


Odesláno z Tapatalk 2.

Re: Zakomponování funkce

Napsal: 22 čer 2013 12:49
od table
Vypisovat to šlo celou dobu, jen to ignorovalo tu podmínku (takže to vypsalo to co jsem chtěl ale u všech zápasů). Nicméně nyní je to vyřešeno v selectu, což je myslím lepší než nějaká podmínka.

Re: Zakomponování funkce

Napsal: 23 čer 2013 11:06
od CrazyC0de
Podmínku to neignorovalo, podmínka neměla hodnotu se kterou mohla operovat, po opravě dotazu to funguje, tudíž za to nejspíše mohl ten dotaz a to, že jsi ho nedodal je tvoje chyba, kdyby jsi měl zapnutý errory, tak by ti tam naskákal Notice a hned by jsi věděl kde je chyba.

No aspon, že jsi to vyřešil, lockni téma.

Re: Zakomponování funkce  Vyřešeno

Napsal: 23 čer 2013 16:34
od table
Asi jsem trochu nechápavej, ale vůbec jsem nyní nepochopil co si tu teď napsal.
Zapnuté errory mám vždy. Žádné to neházelo. Jak už jsem psal to co to mělo dělat to dělalo ale ignorovalo to tu podmínku která měla hodnoty správně zadané, takže to vypisovalo u každého zápasu zmíněné (ff).
K tématu si neporadil vůbec nic, spíše si akorát blbě kecal.