foreach Problem

EddieG

Erfahrenes Mitglied
hi,
habe folgenden code
PHP:
<?php
$pfad = preg_replace("/[^a-zA-Z0-9.,\-_]/","",$_GET['path']); 

?>
<?php
    chdir('replays/'); // <-- die zeile hier einfügen in deinem script
  
    $info = php_bw_load_replay(getcwd()."/".$pfad); // <-- die zeile ändern in deinem script

    // rest ist gleich geblieben ...
    $map = $info->Map;
$team = $info->Teams
$player =$info->Players;

    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);

    echo date("d.m.Y",$info->GameDate);
        echo "<br>Number of Players :"    . $info->NumPlayer;
    echo "<br>Teams :"    . $info->Teams;
    echo"<br>winner:" . $winner->Name;
    echo "<br>matchup :"    . $info->Matchup; 
	echo"<br>Spiel Dauer: "; echo date("i:s",$info->GameLength);echo ' min';
    echo"<br>Type: " .$info->GameType;
    echo "<br>Mapname : " . $map->Name;
    echo "<br>Gamename : " . $info->GameName;
    echo "<br>Players info : <br>";
    foreach($info->Players as $player)
        echo $player->Name . " : " . "<img src='img/".$player->RaceName.".png'>" . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>";
$team1 = $team[0];
$team2 = $team[1]; 
echo $team1[0]; 

foreach($info->Teams as $team)
{
   echo "<hr>";
   foreach($team as $ppl)
   {
      echo $ppl."<br>";
    }
}
?>

es komtm aber immer Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\reps\replay\php_bw_load_replay.php on line 15

wenn ich es aber so mache also die ezeien die ich brauche weg lasse gehts
PHP:
<?php
$pfad = preg_replace("/[^a-zA-Z0-9.,\-_]/","",$_GET['path']); 
?>
<?php
    chdir('replays/'); // <-- die zeile hier einfügen in deinem script
  
    $info = php_bw_load_replay(getcwd()."/".$pfad); // <-- die zeile ändern in deinem script

    // rest ist gleich geblieben ...
    $map = $info->Map;
$player =$info->Players;

    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);

    echo date("d.m.Y",$info->GameDate);
        echo "<br>Number of Players :"    . $info->NumPlayer;
    echo "<br>Teams :"    . $info->Teams;
    echo "<br>matchup :"    . $info->Matchup; 
	echo"<br>Spiel Dauer: "; echo date("i:s",$info->GameLength);echo ' min';
    echo"<br>Type: " .$info->GameType;
    echo "<br>Mapname : " . $map->Name;
    echo "<br>Gamename : " . $info->GameName;
    echo "<br>Players info : <br>";
   
?>
so gehts ohne Probleme
 
Liegt daran das du in Zeile 15 das ; Abschluss zeichen vergessen hast.

PHP:
<?php 
$pfad = preg_replace("/[^a-zA-Z0-9.,\-_]/","",$_GET['path']);  

?> 
<?php 
    chdir('replays/'); // <-- die zeile hier einfügen in deinem script 
   
    $info = php_bw_load_replay(getcwd()."/".$pfad); // <-- die zeile ändern in deinem script 

    // rest ist gleich geblieben ... 
    $map = $info->Map; 
$team = $info->Teams; 
$player =$info->Players; 

    if($info->ErrorCode != 0) 
        die("Could not load the replay ! Message : " . $info->ErrorString); 

    echo date("d.m.Y",$info->GameDate); 
        echo "<br>Number of Players :"    . $info->NumPlayer; 
    echo "<br>Teams :"    . $info->Teams; 
    echo"<br>winner:" . $winner->Name; 
    echo "<br>matchup :"    . $info->Matchup;  
    echo"<br>Spiel Dauer: "; echo date("i:s",$info->GameLength);echo ' min'; 
    echo"<br>Type: " .$info->GameType; 
    echo "<br>Mapname : " . $map->Name; 
    echo "<br>Gamename : " . $info->GameName; 
    echo "<br>Players info : <br>"; 
    foreach($info->Players as $player) 
        echo $player->Name . " : " . "<img src='img/".$player->RaceName.".png'>" . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>"; 
$team1 = $team[0]; 
$team2 = $team[1];  
echo $team1[0];  

foreach($info->Teams as $team) 
{ 
   echo "<hr>"; 
   foreach($team as $ppl) 
   { 
      echo $ppl."<br>"; 
    } 
} 
?>

Mfg Splasch
 
ich wollte die nun in eine tabelle machen aber irrgendwie geht es net so ganz
PHP:
<table width="100%" border="1" cellspacing="0" cellpadding="1">
<br><br><br>
<tr><td>Team1</td><td>Team2</td><td>Matchup</td><td>Game Length</td><td>Details</td><td>Downlaod</td>
<?php 

chdir('replays/');
$repfiles = glob("*.rep");

foreach($repfiles as $repfile)
{
 $aktueller_pfad = getcwd();
 $info = php_bw_load_replay($aktueller_pfad."/".$repfile); 
 $team = $info->Teams; 
 $player =$info->Players; 
    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);
    foreach($info->Players as $player)
          	$datum = date("i:s",$info->GameLength);
$team1 = $team[0]; 

foreach($info->Teams as $team) //zeile21
{ 
   echo "<hr>"; 
   foreach($team as $ppl) 
   { 
      echo $ppl. "<br>"; 
    } 
} 
$team2 = $team2[1];  

foreach($info->Teams as $team2) //zeile31
{ 
   echo "<hr>"; 
   foreach($team2 as $ppl2) 
   { 
      echo $ppl2. "<br>"; 
    } 
} 
echo "<tr><td bgcolor=FF6600><b>$ppl<br></td><td bgcolor=FF6600><b>$ppl2<br></td><td>$info->Matchup</td><td bgcolor=FF6600>$datum</td><td bgcolor=FF6600><a href=\"php_bw_load_replay.php?path=$repfile\">Details</a></td><td bgcolor=FF6600><a href=replays/$repfile> Download</a></td>";
}
?> 
</table>
erstens er zeigt nur einen Namen an zweitens heist es

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\reps\replay\liste2.php on line 21

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\reps\replay\liste2.php on line 31

weiß werwo der fehler is? find ihn nicht
 
Dein Fehler liegt daran das du versucht auf ein Ojekt zuzugreiffen das es nicht gibt

$info->Teams wo hast du für das bei dir das Objekt erstellt für $info ?
Du mußt voher immer ein Objekt davon mit new erzeugen vorausgesetzt du hast überhaupt die Ojektclasse erstellt und included von beiden kann ich nix davon aus deinen Quellcode sehen.

Fals du aber nur versuchen willst aus ein assoziertes Array zuzugreifen dann mußte das mit Key-> wert machen.

Das bedeuted deine For each anweisungen mußte dann so ausehen
PHP:
foreach($team2 as $info->Teams)

Mfg Splasch
 
Zuletzt bearbeitet:
zweideminsionales Array

hi,
ich habe folgendes problem mit einem zweidimensionales array

PHP:
foreach($info->Teams as $team)
{
   echo "<hr>";
   foreach($team as $ppl)
   {
      echo $ppl."<br>";
    }
}
so wird das array ausgelesen und so dargetellt.
---------------------------------------------------------------------
C.Le.WeekEnd
nemezis_krk
------------------------------------------------------------------------
MegamanX13
Rey-619


wie man sieht hat es die Spieler in zwei gruppen geteilt
ich möchte tun die einzelnen gruppen getrennt auslesen.
damit ich es so z.B. auslesen könnte.

PHP:
echo"<td>Team1</td><td>Vs.</td><td>Team2</td>";
..
echo"<td>$teamA</td><td>Vs.</td><td>$teamB</td>";
was ich ja mit dem jetzigen script nicht machen kann weiß aber auch nicht wie ich es anstellen soll
 
Zuletzt bearbeitet:
Zurück