Problem mit Schleife

SantaCruze

Erfahrenes Mitglied
Hallo, ich bins mal wieder Smile Und zwar hab ich ein Problem mit einer Schleife. Bei der ersten Version wurden 15 Gebäude eingefügt (mit fortlaufender ID). Problem ist nur ich hab die IDs in den Scripten fest verankert. Nun habe ich neue Gebäude hinzugefügt, problem ist nur dank der schleife werden die nacheinander nach der ID ausgegeben. Problem ist aber, das eine vielzahl von Gebäuden die vorher erforscht werden können ganz am ende kommen. Ich hab bereits versucht am ende wo $j++ ist das j=5 z.b. für die id 5 festzulegen, aber dann gibt es mir nur die id 1 aus. Hat da jmd ne ahnung wie ich das schnell und unkompliziert lösen kann ?


PHP:
<?php $smarty_buildlist = array();
    $j=0;
    foreach($buildlist as $id => $lev)
    {
      $smarty_buildlist[$j]['id'] = $id;
      $smarty_buildlist[$j]['name'] = $db->building_get_name($id);
      $smarty_buildlist[$j]['level'] = $lev-1;
      $smarty_buildlist[$j]['buildlevel'] = $lev;
      $smarty_buildlist[$j]['desc'] = $db->building_get_desc($id);
      $smarty_buildlist[$j]['need_res'] = $db->formatted_building_get_costs($id,$lev);
      $smarty_buildlist[$j]['need_time'] = $db->formatted_building_get_time($id,$lev,$_SESSION["coords"]);
      $smarty_buildlist[$j]['color'] = "#FFFF00";
      $smarty_buildlist[$j]['image'] = $db->building_get_image($id);
      if($db->buildings_can_build($_SESSION["coords"],$id))
      {
        $smarty_buildlist[$j]['color'] = "#00FF00";
      }
      else
      {
        $smarty_buildlist[$j]['color'] = "#FF0000";
      }
      $db->reinit();
      $taskid = $db->tasks_id_building_on_build($_SESSION["coords"],$id);
      if($taskid != -1)
      {
        $smarty_buildlist[$j]['onbuild'] = 1;
    $db->reinit();
    $smarty_buildlist[$j]['resttime'] = $db->tasks_endtime($taskid)-time();
    $db->reinit();
    $smarty_buildlist[$j]['resttime_formatted'] = date("H:i:s",$smarty_buildlist[$j]['resttime']);
    $smarty_buildlist[$j]['color'] = "#FFFFFF";
    $somethingonbuild=1;
      }
      unset($db); $db = new cl_extended_database;
      $j++;
    }
 
wie wär es mit 2 weiteren Spalten

1. Gebäude erforscht

2. benötigtes Gebäude


in beöntigtes Gebäude gibst du die ID des Gebäudes ein das erforscht werden muss und nur wenn in der Gebäude ID - erfoschrst = ja steht - kann das nächste Gebäude erfoscht werden somit können beliebig viele Gebäude eingefügt werden-
 
Zurück